package hu.sch.api.providers;
import com.fasterxml.jackson.databind.JsonMappingException;
import hu.sch.api.response.PekError;
import hu.sch.services.exceptions.PekErrorCode;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
/**
*
* @author tomi
*/
@Provider
public class BadJSONFormatHandler implements ExceptionMapper<JsonMappingException> {
@Override
public Response toResponse(JsonMappingException exception) {
return Response
.status(Response.Status.BAD_REQUEST)
.entity(fromException(exception))
.type(MediaType.APPLICATION_JSON_TYPE)
.build();
}
private PekError fromException(JsonMappingException exception) {
return new PekError(PekErrorCode.INVALID_JSON_FORMAT, exception.getMessage());
}
}