UnhandledExceptionMapper.java
package io.extact.rms.platform.jaxrs.mapper;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.WebApplicationException;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.ext.ExceptionMapper;
import lombok.extern.slf4j.Slf4j;
/**
* Handle unhandled exceptions.
*/
@Produces(MediaType.APPLICATION_JSON)
@Slf4j
public class UnhandledExceptionMapper implements ExceptionMapper<Exception> {
@Override
public Response toResponse(Exception exception) {
if (exception instanceof WebApplicationException) {
log.warn("Internal server error", exception);
return ((WebApplicationException) exception).getResponse();
} else {
log.warn("Internal server error", exception);
return Response.serverError().build();
}
}
}