我正在尝试使用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
。我错过了什么?
非常感谢您的帮助。
答案 0 :(得分:1)
尝试将标题选项更新为:
"Content-Type: application/json"
此外 - 此请求是否需要任何类型的身份验证?如果是这样,你需要传递一个身份验证cookie。