我在JAX-RS中使用ExceptionMapper。
public class MyException implements ExceptionMapper<ConstraintViolationException> {
@Override
public Response toResponse(ConstraintViolationException exception) {
...
}
}
所有作品。但是,无论如何,我可以获取URL或生成异常的HTTP请求的句柄吗?
谢谢
答案 0 :(得分:1)
在课堂上使用@Context并使用它来获得原始请求:
@Context
private HttpServletRequest request;
@Override
public Response toResponse(ConstraintViolationException exception) {
String requestURI = request.getRequestURI();
答案 1 :(得分:1)
@Context
private UriInfo uriInfo;
然后使用getRequestUri()
方法获取请求URI:
URI uri = uriInfo.getRequestUri();
请参阅this answer,以了解可以插入@Context
的其他类型。