我做了一个REST API,它操作一个文件,然后将文件上传到第三方,然后它将有两个数据库操作。第一个是选择,第二个是插入。
在少数情况下,我会得到200,但在某些情况下,我会得到400。现在,当我得到400时,控件只会到达select方法,该方法没有错误。
因此,看起来请求超时或发生其他情况。
有人能建议正确的方法吗?我应该在哪里改变超时时间?
成功日志-
[2019-04-11 10:09:26] [T] [http-nio-10.0.0.219-7000-exec-11] [Controller] DOCUMENT UPLOADED IN Folder
[2019-04-11 10:09:26] [T] [http-nio-10.0.0.219-7000-exec-11] [Controller] Checking if transition is valid from new NEW status - initiated
[2019-04-11 10:09:26] [T] [http-nio-10.0.0.219-7000-exec-11] [Controller] CALLING FUNCTION TO SAVE RESPONSE IN DIGIO_RESPONSES IN DB
[2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Controller] [LFT] [userId = 12] POST 200 /storage/upload
故障日志-
[2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Controller] DOCUMENT UPLOADED IN Folder
[2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Controller] Checking if transition is valid from new NEW status - initiated
[2019-04-11 10:10:11] [T] [http-nio-10.0.0.219-7000-exec-14] [Controller] [LFT] [userId = 12] POST 400 /storage/upload
3条答案
按热度按时间ev7lccsx1#
400错误请求由于明显的客户端错误(例如,格式错误的请求语法、大小太大、无效的请求消息帧或欺骗性的请求路由),服务器无法或将不处理请求。
504网关超时服务器充当网关或代理,未收到来自上游服务器的及时响应。
400
表示请求格式错误,也就是说,客户端发送到服务器的数据流不符合规则。对于具有JSON有效负载的REST API,根据服务的API规范,当JSON在某些方面无效时,您可能会得到400。
如果请求成功,则您可能会得到
2xx
代码(3xx
表示重定向)。如果服务器上存在内部逻辑错误,则返回5xx
。如果客户端请求中存在任何错误,则您可能会得到4xx
代码。zbdgwd5y2#
这是一个糟糕的请求:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
从上一页:
它指示服务器由于被认为是客户端错误(例如,错误的请求语法、无效的请求消息成帧或欺骗性的请求路由)而不能或将不处理该请求。
客户端不应在未修改的情况下重复此请求。
这不是一个超时。你需要发布更多的信息,并在您的Web服务器日志中查看为什么请求是坏的,这可能是一系列的事情。
liwlm1x93#
Spring中的故障排除400响应代码是我存在的祸根。它让我惊讶异常是多么容易被吞噬或记录在DEBUG中。
请参阅我的答案here。为特定的Spring包启用DEBUG日志记录已经帮助我解决了许多情况下这些类型的静默故障。