JAX-RS JAVA EE
package com.logicbig.example;import javax.ws.rs.core.Response;import javax.ws.rs.ext.ExceptionMapper;import javax.ws.rs.ext.Provider;@Providerpublic class InvalidIdExceptionMapper implements ExceptionMapper<InvalidIdException> { @Override public Response toResponse(InvalidIdException exception) { return Response.status(Response.Status.NOT_FOUND) .entity(prepareMessage(exception)) .type("text/plain") .build(); } private String prepareMessage(InvalidIdException exception) { String m = exception.getMessage(); String r = "Invalid request.\n"; r += String.format("Error Message: %s.%nError Type: %s.%n" + "You may contact admin@example.com for more questions.", m, exception.getClass()); return r; }}
import javax.validation.ConstraintViolation;import javax.validation.ConstraintViolationException;import javax.ws.rs.core.Response;import javax.ws.rs.ext.ExceptionMapper;import javax.ws.rs.ext.Provider;@Providerpublic class MyExceptionMapper implements ExceptionMapper<ConstraintViolationException> { @Override public Response toResponse(final ConstraintViolationException exception) { return Response.status(Response.Status.BAD_REQUEST) .entity(prepareMessage(exception)) .type("text/plain") .build(); } private String prepareMessage(ConstraintViolationException exception) { String msg = ""; for (ConstraintViolation<?> cv : exception.getConstraintViolations()) { msg+=cv.getPropertyPath()+" "+cv.getMessage()+"\n"; } return msg; }}