首页 > 解决方案 > 在使用 POST 注释的方法访问失败时获取请求正文

问题描述

我有一个带有@POST注释方法的 RESTful Web 服务,当无法使用请求内容类型时会引发异常。我想看看到底出了什么问题。为此,我想访问失败的 POST 调用的所有详细信息,例如正文内容。为此,我创建了@Provider一个NotSupportedException. 不过,我仍然无法找到一种方法来获得所需的详细信息。我该怎么做?

@POST 注释方法:

@Path("/language")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class LanguageResource {
    @POST
    public Response postLanguages(Session session) {
        return Response.status(Response.Status.OK)
                       .entity(Mock.getLanguages())
                       .build();
    }
}

@Provider:

@Provider
public class NotSupportedMapper implements ExceptionMapper<NotSupportedException> {
    @Override
    public Response toResponse(NotSupportedException exception) {
        System.out.println(exception.toString());

        return Response.status(Response.Status.NOT_IMPLEMENTED)
                       .build();
    }
}

标签: javapostjerseyjax-rsnotsupportedexception

解决方案


推荐阅读