我创建了不同的方法来验证SOAP和REST服务中是否存在空字段。对于肥皂我使用这样的东西:
if (fornecedor.isEmpty()) {
throw new BadRequestException(error + " fornecedor");
}
对于REST我做了这个:
if (fornecedor.isEmpty()) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST, ERROR + " fornecedor");
}
这意味着我将@Context HttpServletResponse响应作为Rest中的参数而在SOAP上没有任何内容,因为它是一个例外。还有其他方法可以使用相同的SOAP和REST方法验证空字段吗?
答案 0 :(得分:1)
Jersey允许您将自定义例外映射到响应。 相关文档在这里: https://jersey.java.net/documentation/latest/representations.html#d0e5199
示例映射:
@Provider
public class BadRequestExceptionMapper implements ExceptionMapper<BadRequestException> {
public Response toResponse(BadRequestException ex) {
return Response.status(404).
entity(ex.getMessage()).
type("text/plain").
build();
}
}