在ExceptionMapper中获取原始URI

时间:2019-04-18 09:13:34

标签: jersey jax-rs

我在JAX-RS中使用ExceptionMapper。

 public class MyException implements ExceptionMapper<ConstraintViolationException> {

    @Override
    public Response toResponse(ConstraintViolationException exception) {
        ...
    }
}

所有作品。但是,无论如何,我可以获取URL或生成异常的HTTP请求的句柄吗?

谢谢

2 个答案:

答案 0 :(得分:1)

在课堂上使用@Context并使用它来获得原始请求:

@Context
private HttpServletRequest request;
@Override
public Response toResponse(ConstraintViolationException exception) {
   String requestURI = request.getRequestURI();

答案 1 :(得分:1)

使用UriInfo注入@Context

@Context
private UriInfo uriInfo;

然后使用getRequestUri()方法获取请求URI:

URI uri = uriInfo.getRequestUri();

请参阅this answer,以了解可以插入@Context的其他类型。