我正在撰写网络API。
我正在与第三方客户端合作,该客户已发送application/json
请求,其中包含无效的JSON正文。
我的控制器永远不会收到请求,因为Symfony以Invalid json message received (400 Bad Request)
回复。
第三方客户端的开发人员将需要此无效的JSON来调试他们的软件。
除了将内容类型更改为text/plain
,然后自己测试JSON,我如何保存无效的JSON以供日后查看?
谢谢!
答案 0 :(得分:0)
啊,好的。这是程序员错误。该检查不是由Synfony完成的,而是由剩余的Friends Of Symfony Rest模块完成的。删除此模块后,行为消失了。无论如何,Controller必须检查JSON主体。
答案 1 :(得分:0)
如果您需要在请求句柄期间记录异常,则只需在kernel.exception
上注册一个事件监听器。此事件将调度GetResponseForExceptionEvent
,您可以在其中找到触发的异常,请求和其他一些信息。
因此,在此侦听器中,检查异常是否为Symfony\Component\HttpKernel\Exception\BadRequestHttpException
,然后将请求主体记录在/所需的位置以进行进一步调试。