我有一个API网关POST端点,它接收一个JSON请求体。我打开了body请求验证程序并添加了请求正文模型。但是,我得到的错误响应只是一些通用消息:"message": "Invalid request body"
,如网关响应中所定义。我想知道是否可以在响应中包含特定的验证错误?在日志中,它具体说明
Request body does not match model schema for content type application/json:
[object has missing required properties (["property1","property2",...])]
在实际响应中是否可以有类似的东西?谢谢。
答案 0 :(得分:2)
仅当请求有效内容格式有效但参数格式无效时,AWS API Gateway才会包含更多详细信息:
{
"message": "Missing required request parameters: [p1]"
}
如果请求有效负载无效,您将始终收到相同的消息:
{
"message": "Invalid request body"
}
请参阅以下页面的底部:
http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-validation-test.html
获取更多详细信息的唯一方法是通过日志。
顺便说一下,为什么要通过API发送更多详细信息,仅用于开发和调试吗?如果是,使用日志是可行的方法。您可能有一些日志处理和存储解决方案,以使您的调试更容易(例如Splunk,Data Dog,Sumo Logic等)
否则,通常,在API错误消息中返回太多技术细节是值得避免的。
答案 1 :(得分:2)
在网关响应中,错误类型为BAD_REQUEST_BODY,错误状态为400
将 Application / json 设置为 {“ message”:$ context.error.validationErrorString}