假设我有以下API:
@Path("/api")
public Response api(@Valid @NotNull(message = "In cannot be null") String in) {
return Response.ok().build();
}
当客户端发送Null String时,他得到的唯一响应是:“Bad Request(400)”
如何使用上述消息发送响应?甚至在我的服务器中记录消息?
您可以使用entity
发送错误的特定消息。
Response.status(errorMessage.getStatus())
.entity(message)
.type(MediaType.APPLICATION_JSON)
.build();
我看了下面的泽西植入后解决了这个问题:
显然是jersey.config.beanValidation.enableOutputValidationErrorEntity.server
property必须设置为true(在web.xml中):
<init-param>
<param-name>jersey.config.beanValidation.enableOutputValidationErrorEntity.server</param-name>
<param-value>true</param-value>
</init-param>