Symfony2的。如何从400保存请求正文:收到无效的json消息

时间:2014-06-15 15:08:48

标签: php json symfony

我正在撰写网络API。

我正在与第三方客户端合作,该客户已发送application/json请求,其中包含无效的JSON正文。

我的控制器永远不会收到请求,因为Symfony以Invalid json message received (400 Bad Request)回复。

第三方客户端的开发人员将需要此无效的JSON来调试他们的软件。

除了将内容类型更改为text/plain,然后自己测试JSON,我如何保存无效的JSON以供日后查看?

谢谢!

2 个答案:

答案 0 :(得分:0)

啊,好的。这是程序员错误。该检查不是由Synfony完成的,而是由剩余的Friends Of Symfony Rest模块完成的。删除此模块后,行为消失了。无论如何,Controller必须检查JSON主体。

答案 1 :(得分:0)

如果您需要在请求句柄期间记录异常,则只需在kernel.exception上注册一个事件监听器。此事件将调度GetResponseForExceptionEvent,您可以在其中找到触发的异常,请求和其他一些信息。

因此,在此侦听器中,检查异常是否为Symfony\Component\HttpKernel\Exception\BadRequestHttpException,然后将请求主体记录在/所需的位置以进行进一步调试。