Метод ExceptionMapper toResponse не вызывает

Метод toResponse класса ExceptionMapper не вызывается.

Код

public class PortalExceptionMapper implements  ExceptionMapper<ConstraintViolationException> {

@Override
public Response toResponse(ConstraintViolationException exception) {
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%% testing product%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
    return Response.status(Response.Status.BAD_REQUEST)
            .entity(prepareMessage(exception))
            .type("application/json")
            .build();


}

private String prepareMessage(ConstraintViolationException exception) {
    String msg = "";
    for (ConstraintViolation<?> cv : exception.getConstraintViolations()) {
        msg+=cv.getPropertyPath()+" "+cv.getMessage()+"\n";
    }
    return msg;
}

}

================================================== =====

Этот класс исключения Mapper регистрируется на ResourcesConfig

public class PortalApp extends ResourceConfig 
{
public PortalApp()
{
    register(AccessRequestFilter.class);
    packages("org.learn");      
    register(JacksonFeature.class);
    register(PortalExceptionMapper.class);
    register(PortalJackson.class);
    register(PortalFilter.class);


}

Пожалуйста помоги. Спасибо

1 ответ

Попробуйте пометить свой класс с помощью @Provider:

@Provider
public class PortalExceptionMapper implements  ExceptionMapper<ConstraintViolationException> {...}
Другие вопросы по тегам