如何将json而不是form-data发送到我的symfony控制器

时间:2011-01-27 16:14:15

标签: web-services json rest symfony1 symfony-1.4

网上有很多关于如何在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更容易实现。

1 个答案:

答案 0 :(得分:1)

我得出了这个结论:

Symfony的getParameter()方法提供GET参数(url)和路由(uri)中定义的参数。还将提供多部分数据项,因为此媒体类型只是子内容包的容器,而application / json已经是内容本身。换句话说:multipart只声明有多个内容包。

有人可能声称json也是一个数据容器,但我认为multipart包含“http-level”的数据,而json包含“content-level”的数据。

由于multipart实际上类似于元媒体类型,因此产生了混淆。