假设我有以下 API:

@Path("/api") 
public Response api(@Valid @NotNull(message = "In cannot be null") String in) { 
    return Response.ok().build(); 
} 

当客户端发送空字符串时,他得到的唯一响应是:“Bad Request (400)”

如何发送包含上述消息的响应?或者甚至将消息记录在我的服务器中?

请您参考如下方法:

在查看下面的 Jersey 植入后,我解决了这个问题:

https://github.com/jersey/jersey/blob/master/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationExceptionMapper.java

显然是jersey.config.beanValidation.enableOutputValidationErrorEntity.server

属性必须设置为 true(在 web.xml 中):

 <init-param> 
        <param-name>jersey.config.beanValidation.enableOutputValidationErrorEntity.server</param-name> 
        <param-value>true</param-value> 
 </init-param> 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!