- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以我正在构建一个 Web 应用程序,我们使用 JPA 和 Jersey 来使用/生成 JSON 数据。
我有一个自定义的“EntityException”以及一个自定义的“EntityExceptionMapper”
这是映射器:
@Provider
public class EntityExceptionMapper implements ExceptionMapper<EntityException> {
public EntityExceptionMapper() {
System.out.println("Mapper created");
}
@Override
public Response toResponse(EntityException e) {
System.out.println("This doesnt print!");
return Response.serverError().build();
}
}
我的异常(exception):
public class EntityException extends Exception implements Serializable{
public EntityException(String message) {
super(message);
System.out.println("This prints...");
}
}
我从 REST 调用中调用它:
@POST
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public String test() throws EntityException{
throw new EntityException("This needs to be send as response!!");
//return "test";
}
我的问题是,当抛出上述异常时,我进入构造函数(打印:“This prints...”)编辑:我还得到:“Mapper created!”
但是我的响应是空的,而且我没有从我的 toResponse 方法中获取 sys。这与 Jersey 网站上的示例非常相似:
https://jersey.java.net/nonav/documentation/1.12/jax-rs.html#d4e435
我错过了什么??
最佳答案
我正在使用与部署无关的应用程序模型,因此以下对我有用:
public class MyApplication extends Application {
public Set<Class<?>> getClasses() {
Set<Class<?>> s = new HashSet<Class<?>>();
s.add(HelloWorldResource.class);
/** you need to add ExceptionMapper class as well **/
s.add(EntityExceptionMapper.class)
return s;
}
}
关于java - Jersey ExceptionMapper 中的 toResponse 不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22413239/
我在应用程序中使用RestEasy,并且从ExceptionMapper接口(interface)实现了toResponse方法。 我的问题是:这个方法在海量请求的环境下会不会有问题(很多请求会导致抛
所以我正在构建一个 Web 应用程序,我们使用 JPA 和 Jersey 来使用/生成 JSON 数据。 我有一个自定义的“EntityException”以及一个自定义的“EntityExcepti
我有一个测试用例,在进行一些基本验证时抛出异常。但 ExceptionMapper 没有被调用。但如果我从 postman 那里跑去使用服务,它就工作正常。Junit 测试必须以不同的方式运行 Exc
我是一名优秀的程序员,十分优秀!