Class ProblemErrorResponseProcessor

java.lang.Object
io.micronaut.problem.ProblemErrorResponseProcessor
All Implemented Interfaces:
io.micronaut.http.server.exceptions.response.ErrorResponseProcessor<org.zalando.problem.Problem>

@Deprecated(forRemoval=true) public class ProblemErrorResponseProcessor extends Object implements io.micronaut.http.server.exceptions.response.ErrorResponseProcessor<org.zalando.problem.Problem>
Deprecated, for removal: This API element is subject to removal in a future version.
Error Response processor to respond Problem responses.
  • Adds application/problem+json content type
  • If the cause is a ThrowableProblem, it returns as the body.
  • If the cause is not a ThrowableProblem , it generates a default Problem based on the ErrorContext and returns it as the HTTP Body.
Since:
1.0
Author:
Sergio del Amo
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected @NonNull org.zalando.problem.ThrowableProblem
    defaultProblem(@NonNull io.micronaut.http.server.exceptions.response.ErrorContext errorContext, @NonNull io.micronaut.http.HttpStatus httpStatus)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a ThrowableProblem when the root cause was not an exception of type ThrowableProblem.
    protected boolean
    includeErrorMessage(@NonNull io.micronaut.http.server.exceptions.response.ErrorContext errorContext)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Whether ThrowableProblem, created when the root cause is not an exception of type ThrowableProblem, should contain Error::getMessage in the problem detail.
    @NonNull io.micronaut.http.MutableHttpResponse<org.zalando.problem.Problem>
    processResponse(@NonNull io.micronaut.http.server.exceptions.response.ErrorContext errorContext, @NonNull io.micronaut.http.MutableHttpResponse<?> baseResponse)
    Deprecated, for removal: This API element is subject to removal in a future version.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • APPLICATION_PROBLEM_JSON

      public static final String APPLICATION_PROBLEM_JSON
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
  • Constructor Details

    • ProblemErrorResponseProcessor

      public ProblemErrorResponseProcessor(ProblemConfiguration config)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Constructor.
      Parameters:
      config - Problem configuration
  • Method Details

    • processResponse

      @NonNull public @NonNull io.micronaut.http.MutableHttpResponse<org.zalando.problem.Problem> processResponse(@NonNull @NonNull io.micronaut.http.server.exceptions.response.ErrorContext errorContext, @NonNull @NonNull io.micronaut.http.MutableHttpResponse<?> baseResponse)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      processResponse in interface io.micronaut.http.server.exceptions.response.ErrorResponseProcessor<org.zalando.problem.Problem>
    • defaultProblem

      @NonNull protected @NonNull org.zalando.problem.ThrowableProblem defaultProblem(@NonNull @NonNull io.micronaut.http.server.exceptions.response.ErrorContext errorContext, @NonNull @NonNull io.micronaut.http.HttpStatus httpStatus)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a ThrowableProblem when the root cause was not an exception of type ThrowableProblem.
      Parameters:
      errorContext - Error Context
      httpStatus - HTTP Status
      Returns:
      Default problem
    • includeErrorMessage

      protected boolean includeErrorMessage(@NonNull @NonNull io.micronaut.http.server.exceptions.response.ErrorContext errorContext)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Whether ThrowableProblem, created when the root cause is not an exception of type ThrowableProblem, should contain Error::getMessage in the problem detail. To avoid accidental information leakage defaults to false unless the root cause is of type UnsatisfiedRouteException which contains helpful information to diagnose the issue (e.g. missing required query value) in the details.
      Parameters:
      errorContext - Error Context
      Returns:
      To avoid accidental information leakage defaults to false unless the root cause is of type UnsatisfiedRouteException