POST json返回400卷曲,但功能测试工作

时间:2015-09-06 04:17:48

标签: php json symfony post curl

我正在尝试使用Symfony2和FOSRestBundle构建API的POST。以下功能测试返回OK。

 public function testPostArticleAction(){

        $this->client->request(
                'POST',
                '/api/v1/articles.json',
                array(),
                array(),
                array('CONTENT_TYPE' => 'application/json'),
                '{"articleContent":"The content of the content"}'
                );
        $response = $this->client->getResponse();

        $this->assertJsonResponse($response,201, false); 
    }

但是当我尝试通过Curl向同一个请求体发送请求时,它会给我一条400无效的json消息:

  

{"代码":400,"消息":"收到无效的json消息"}

以下是我尝试过的curl命令:

  

curl -X POST -d' {" articleContent":" title1"}'   http://localhost:8000/api/v1/articles - 标题   "内容类型:应用/ JSON"

     

curl -X POST -d' {" articleContent":" title1"}'   http://localhost:8000/api/v1/articles.json

请注意,GET会给我一个像json那样的回复:

  

{" id":68," article_content":"内容内容"}

但我的字段是我的学说映射文件中的articleContent。我错过了什么? 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试将标题选项更新为:

"Content-Type: application/json"

此外 - 此请求是否需要任何类型的身份验证?如果是这样,你需要传递一个身份验证cookie。