繁体   English   中英

ExceptionMapper在灰熊中不起作用

[英]ExceptionMapper not work in grizzly

对不起,我的英语不好。 我正在使用grizzly和jersey来构建Web应用程序。

我这样实现

        ErrorModel errorModel = new ErrorModel("1", "1", "1");
        WebApplicationException applicationException = (WebApplicationException) exception;
        return Response.status(applicationException.getResponse().getStatus()).type(MediaType.APPLICATION_JSON_TYPE).entity(errorModel).build();

当我访问一个不存在的页面时。 我发现它引发了WebApplicationException。 因此,我进行了调试,发现正在调用此方法并返回上面的响应。 但最后,http响应是由grizzly构建的html页面。 我该怎么办

确保设置了RESPONSE_SET_STATUS_OVER_SEND_ERROR属性。

我在灰熊遇到了同样的问题,它捕获了我的400,并发回了默认的通用servlet错误页面。 这是球衣2的解决方案。

public class RestApplication extends ResourceConfig {

    private static final Logger logger = Logger.getLogger(RestApplication.class.getName());

    public RestApplication() {
        // Set this property so that the 400 will still send the entity correctly.
        property(ServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR, "true");
        registerModules();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM