我正在努力解决与FOSRestBundle相关的问题(版本0.13.*)
我有一些REST API会抛出一些异常,我猜不出异常.但是,尽管我做了特定的配置,允许在响应中格式化异常消息,即使在生产中也是如此(遵循我在此处找到的文档:https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/4 -exception-controller-support.md),JSON响应绝对是空的......
示例如下:
http://host/app_dev.php/api/postcode/search?postcode=
Run Code Online (Sandbox Code Playgroud)
结果是:
HTTP 400: {"status":"error","status_code":400,"status_text":"Bad Request","current_content":"","message":"You must provide a postcode"}
Run Code Online (Sandbox Code Playgroud)
但
http://host/api/postcode/search?postcode=
Run Code Online (Sandbox Code Playgroud)
结果是:
HTTP 400: []
Run Code Online (Sandbox Code Playgroud)
我的API控制器如下所示:
/**
* Search post codes
*
* @param Request $request Request
* @param Promotion $promotion Promotion
*
* @Rest\View()
*
* @throws BadRequestHttpException
* @return array
*/
public function searchAction(Request $request, Promotion $promotion)
{
// Get post code
$postCode = $request->query->get('postcode');
if (!$postCode) {
throw new BadRequestHttpException('You must provide a postcode');
}
// SOME …Run Code Online (Sandbox Code Playgroud)