网上有很多关于如何在symfony控制器中设置动作响应类型json的教程。但是我怎样才能收到JSON?
$ request-> getRequestFormat()返回“json”,但json数据似乎丢失了,因为$ request-> getParameter()不起作用。
这是我的路线:
importservice:
url: /importservice
class: sfRequestRoute
param: { module: remoteaccess, action: import, sf_format: json }
requirements:
sf_method: post
sf_format: json
编辑:
getParameter()解码multipart / form-data(html-forms)和get-parameters,所以我认为它也适用于content-type application / json。 我需要这个用于发布数据的网络服务。我的基本想法是,人类是否填写html表单或者机器人是否直接发送数据没有区别。我认为将内容编码为json比将其编码为multipart / form-data更容易实现。
答案 0 :(得分:1)
我得出了这个结论:
Symfony的getParameter()方法提供GET参数(url)和路由(uri)中定义的参数。还将提供多部分数据项,因为此媒体类型只是子内容包的容器,而application / json已经是内容本身。换句话说:multipart只声明有多个内容包。
有人可能声称json也是一个数据容器,但我认为multipart包含“http-level”的数据,而json包含“content-level”的数据。
由于multipart实际上类似于元媒体类型,因此产生了混淆。