如何将post参数更改为json原始格式

时间:2015-05-24 04:19:47

标签: php rest symfony fosrestbundle symfony-2.6

我正在使用FOSRestBundle构建Restful API。我有一个POST Restful服务的代码:

/**
 * Create a new session.
 * @param ParamFetcher $paramFetcher
 *
 * @ApiDoc(
 *   resource = true,
 *   https = true,
 *   description = "Create a new session",
 *   statusCodes = {
 *      200 = "Returned when successful",
 *      400 = "Returned when errors"
 *   }
 * )
 *
 * @RequestParam(name="username", nullable=false, strict=true, description="The username")
 * @RequestParam(name="veevaToken", nullable=false, strict=true, description="The token")
 * @RequestParam(name="instanceUrl", nullable=false, strict=true, description="The instance URL")
 *
 * @return View
 */
public function postSessionAction(ParamFetcher $paramFetcher)
{
     ....
}

我将参数发送为x-www-form-urlencoded我希望将其更改为原始格式,例如:

{
  "veevaToken": "xxxxxx",
  "instanceUrl":"xxxxxx",
  "username":"xxxx"
}

我是怎么做到的?那可能吗?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

POST普通原始格式,但在你的php而不是使用$ _POST [name]使用

   $http_raw = file_get_contents('php://input);

这将包含发布到服务器的原始数据,如果它的json需要解码