All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.allegro.tech.hermes.management.api.mappers.AbstractExceptionMapper Maven / Gradle / Ivy

There is a newer version: 2.10.4
Show newest version
package pl.allegro.tech.hermes.management.api.mappers;

import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.ext.ExceptionMapper;
import pl.allegro.tech.hermes.api.ErrorCode;
import pl.allegro.tech.hermes.api.ErrorDescription;

abstract class AbstractExceptionMapper implements ExceptionMapper {

  @Override
  public Response toResponse(T exception) {
    return Response.status(httpStatus())
        .type(MediaType.APPLICATION_JSON_TYPE)
        .entity(new ErrorDescription(errorMessage(exception), errorCode()))
        .build();
  }

  String errorMessage(T exception) {
    return exception.getMessage();
  }

  abstract Response.Status httpStatus();

  abstract ErrorCode errorCode();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy