- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 Jersey 与 Spring 一起用于 Web 服务。为了捕获异常并格式化发送给调用者的响应,我添加了一个 ExceptionMapper 的实现。
虽然当我从 Controller 内显式抛出异常时它被调用,但是当 json 字段验证失败时,异常映射器不会被调用并且发送的响应是 ** 可能不是 null (path = checkNotification.arg0.tyres, invalidValue = 空)
**
@Provider
public class GenericExceptionMapper implements ExceptionMapper<Throwable> {
@Override
public Response toResponse(Throwable ex) {
System.out.println("Exception Mapper !!!");
return Response.status(404).entity(ex.getMessage()).type("application/json").build();
}
}
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>
org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
com.help.rest.controller,
com.fasterxml.jackson.jaxrs.json
</param-value>
</init-param>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.help.filter.FeatureRegistration</param-value>
</init-param>
<init-param>
<param-name>jersey.config.beanValidation.enableOutputValidationErrorEntity.server</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
@Provider
public class GenericExceptionMapper implements ExceptionMapper<Throwable> {
@Override
public Response toResponse(Throwable ex) {
System.out.println("Exception Mapper !!!");
return Response.status(404).entity(ex.getMessage()).type("application/json").build();
}
}
@Provider
public class GenericExceptionMapper implements ExceptionMapper<ConstraintViolationException> {
@Override
public Response toResponse(ConstraintViolationException ex) {
System.out.println("Exception Mapper !!!");
return Response.status(404).entity(ex.getMessage()).type("application/json").build();
}
}
最佳答案
通过改变使它工作
@Provider
public class GenericExceptionMapper implements ExceptionMapper<Throwable> {
@Override
public Response toResponse(Throwable ex) {
System.out.println("Exception Mapper !!!");
return Response.status(404).entity(ex.getMessage()).type("application/json").build();
}
}
@Provider
public class GenericExceptionMapper implements ExceptionMapper<ConstraintViolationException> {
@Override
public Response toResponse(ConstraintViolationException ex) {
System.out.println("Exception Mapper !!!");
return Response.status(404).entity(ex.getMessage()).type("application/json").build();
}
}
关于spring - Jersey 自定义 ExceptionMapper 未在 400 Bad Request 上调用(验证失败时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35065029/
我如何注册一个包罗万象的 ExceptionMapper确实如此 不是 拦截 WebApplicationException哪个 Jersey 提供特殊处理? 更新 :我提交了此功能请求:http:/
抱歉我的英语不好。我正在使用 grizzly 和 jersey 构建 Web 应用程序。 我是这样实现的 ErrorModel errorModel = new ErrorModel(
我将 Jersey 用于 REST 网络服务。 每当我没有从服务层获得任何对象时,我都会通过抛出 NotFoundException(Package com.sun.jersey.api) 来处理所有
我的应用程序提供了一个 RESTful 接口(interface)来执行某些操作。我正在使用 ExceptionMapper 捕获 NoResultException 或 EntityNotFound
假设我有 3 个想要“捕获”的异常类: Jersey 的 WebApplicationException MyException 扩展了 RuntimeException 异常 我希望 WebAppl
我正在为 EJB 服务开发 REST-facade,这意味着它调用 EJB,将结果转换为 REST 调用者能够理解的表示形式,然后返回它(作为 json 或 xml)。所有这些都表现出色。但是 EJB
我的 Spring Boot + Jersey REST 服务无法按预期工作。 EmailExistsException 在 UserController 中抛出,但我只收到错误 500。一直都是。而
我正在抛出异常 MyCustomException从我的应用程序。 (EJB 层) 我在 Web 服务层中有一个异常映射器,如下所示 - package net.webservices; import
我正在尝试调用此异常映射器以返回 404 未找到响应,但它一直返回 500 内部错误。 Jersey 版本是 2.22.1。下面的代码片段。感谢所有帮助。 谢谢。 异常映射器类。 package or
我有一个ExceptionMapper,它是通用公共(public)库的一部分: @Provider public class GenericExceptionMapper implements Ex
我正在使用 Jersey 在 java 中做一个 Web 服务。我对 Jersey 的依赖是: /* JAX-RS Impl (Jersey) */ compile 'org.glassfish.je
问题Exception Handling/Mapping for a particular class让我想到了如何将 ExceptionMapper 注册到特定资源 Method 的问题。 我试过像
我正在尝试调用此异常映射器以返回 404 未找到响应,但它一直返回 500 内部错误。 Jersey 版本是 2.22.1。下面的代码片段。感谢所有帮助。 谢谢。 异常映射器类。 package or
在 Quarkus 中,异常映射器返回的实体似乎被包装在另一个实体中。 提供一个 JAX-RS 异常映射器,例如: @Provider public class WebhookExceptionMap
我有一个使用RESTeasy 2.0.1.GA在JAX-RS中使用ExceptionMapper的方案。一切正常。 我现在想使用RESTeasy的mock mechanism测试整个过程。不幸的是我的
我为特定对象制作了一个 RESTFUL-API 并使用 javax.validation.Constraints 进行验证,当我执行应用程序时它按预期工作并且 ExceptionMapper 类被正确
我有 REST Web 服务,我使用 Jersey Test、Mockito、Junit 对其进行测试。当 Web 服务方法成功执行时,我得到正确的响应。如果数据无效,则抛出自定义异常,必须由 Exc
我正在开发一个使用 Dropwizard 的应用程序,它具有 ExceptionMapper 的实现:https://github.com/dropwizard/dropwizard/blob/mas
我正在使用 Jersey 2.5.1 和 Jackson 2.2。用于构建 JSON Rest Web 服务。我也用 2 个 ExceptionMappers 启动并运行它,但对于“非 json”请求
我在应用程序中使用RestEasy,并且从ExceptionMapper接口(interface)实现了toResponse方法。 我的问题是:这个方法在海量请求的环境下会不会有问题(很多请求会导致抛
我是一名优秀的程序员,十分优秀!