Итак, я создаю веб-приложение, мы используем JPA и Jersey для потребления/производства данных JSON.
У меня есть обычное "EntityException", а также пользовательский "EntityExceptionMapper"
Здесь mapper:
@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();
}
}
Мое исключение:
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";
}
Моя проблема в том, что, когда выбрано вышеописанное исключение, я попадаю в конструктор (prints: "This prints..." ) Edit: Я также получаю: "Mapper created!"
Но мой ответ пуст, и я не добираюсь до sys из моего метода toResponse. Это действительно похоже на пример на веб-сайте Джерси:
https://jersey.java.net/nonav/documentation/1.12/jax-rs.html#d4e435
Что мне не хватает?