我正在尝试使用捆绑包构建 Symfony API,但我发送的每个请求都有空的正文。
控制器:
class IndexController extends AbstractFOSRestController
{
/**
* @Rest\Post("/api/test", methods={"POST"})
* @param Request $request
* @return View
*/
public function testError(
Request $request
) : View {
$requestData = $request->request->all(); // problem: requestData is []
return View::create()
->setStatusCode(200)
->setFormat("json")
->setData(["data" => $requestData, "status" => "ok"]);
}
}
我从 CURL 发送这个请求:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:8000/api/test
我也试过用 Postman 发送。我收到以下回复:
{"data":[],"status":"ok"}
这是我的 fos_rest.yaml 文件:
fos_rest:
view:
view_response_listener: true
format_listener:
rules:
- { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json, html ] }
- { path: ^/, prefer_extension: true, fallback_format: json, priorities: [ html, json ] }