package hu.sch.api.providers; import hu.sch.api.response.PekError; import hu.sch.services.exceptions.PekException; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author tomi */ @Provider public class DefaultExceptionHandler implements ExceptionMapper<Exception>{ private static final Logger logger = LoggerFactory.getLogger(DefaultExceptionHandler.class); @Override public Response toResponse(Exception exception) { logger.error("Unhandled exception", exception); return buildResponse(500, PekError.internal(exception.getMessage())); } private Response buildResponse(int status, PekError error) { return Response .status(status) .entity(error) .type(MediaType.APPLICATION_JSON_TYPE) .build(); } }