gpt4 book ai didi

java - 如何配置 DropWizard 来解释请求失败?

转载 作者:行者123 更新时间:2023-11-30 03:26:41 25 4
gpt4 key购买 nike

如果我发送没有请求正文的 JSON:

POST /stuff
Content-Type: application/json
Content-Length: 0
<---- Body missing!

…到我的 DropWizard( Jersey )资源,

private class PostBody { public String a };

@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response create(@Valid PostBody body)
{ … }

现在,我在日志中只得到一行:

127.0.0.1 - - [04/May/2015:13:21:25 +0000] "POST /stuff HTTP/1.1" 422 370 232 232

HTTP 422 并不是一个不合理的提示,但我必须相信这里有更详细的消息。同样,如果 header 丢失或路径组件与提供的格式不匹配,我希望看到类似“无法解析 header ____”的日志行。

127.0.0.1 - - [04/May/2015:13:21:25 +0000] Received "POST /stuff HTTP/1.1"
127.0.0.1 - - [04/May/2015:13:21:25 +0000] Error: Body could not be parsed (Failure while deserializing field "a")
127.0.0.1 - - [04/May/2015:13:21:25 +0000] "POST /stuff HTTP/1.1" 422 370 232 232

DropWizard 中是否内置了此类日志记录?我怎样才能启用它?

最佳答案

在这种情况下,您需要重写异常映射器。在 422 情况下,您需要为 ConstraintViolationException 实现异常映射器。

查看这个答案:Override DropWizard ConstraintViolation message

关于java - 如何配置 DropWizard 来解释请求失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30031614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com