* The common error object, used to standardize error communication between systems. Adheres to the
* RFC7807 specification.
*/
@Data
@Builder
@Schema(
description=
"The common error object, used to standardize error communication between systems. Adheres to the RFC7807 specification.")
publicclassErrorDetails{
// Standard Members
/**
* The primary identifier for the problem. A URI reference that illustrates the general type of
* problem. It's encouraged that it provides human readable documentation for the problem. If
* absent, it's assumed to be represent a blank value.
*/
@Schema(
description=
"The primary identifier for the problem. A URI reference that illustrates the general type of problem. It's encouraged that it provides human readable documentation for the problem. If absent, it's assumed to be represent a blank value.")
privateURItype;
/** A brief description of the error. */
@Schema(description="A brief description of the error.")
privateStringtitle;
/**
* This member represents the HTTP status code returned by the application. Must always reflect
* what is being sent in the HTTP headers. It exists only in an advisory capacity and should not
* impact the error interpretation, it should only inform the user if presented.
*/
@Schema(
description=
"This member represents the HTTP status code returned by the application. Must always reflect what is being sent in the HTTP headers. It exists only in an advisory capacity and should not impact the error interpretation, it should only inform the user if presented.")
privateHttpStatusstatus;
/**
* A detailed explanation of the error. Provided to help the error consumer correct the problem.
*/
@Schema(
description=
"A detailed explanation of the error. Provided to help the error consumer correct the problem.")
privateStringdetail;
/**
* A URI that references the specific occurrence of the problem. Tends to represent the URI of the
* API call.
*/
@Schema(
description=
"A URI that references the specific occurrence of the problem. Tends to represent the URI of the API call.")
privateURIinstance;
// Extensions
/**
* For node tracing purposes. Should identify the information processing flow that was executing
* at the time this error occurred.
*/
@Schema(
description=
"For node tracing purposes. Should identify the information processing flow that was executing at the time this error occurred.",
required=true)
privateStringprocessingFlowId;
/**
* For user tracing purposes. Should identify the consumer session triggering the action that
* eventually resulted in this error.
*/
@Schema(
description=
"For user tracing purposes. Should identify the consumer session triggering the action that eventually resulted in this error.",
required=true)
privateStringconsumerSessionId;
/**
* Used when handling validation errors. Can contain multiple invalid param reports for a single
* call.
*/
@Schema(
description=
"Used when handling validation errors. Can contain multiple invalid param reports for a single call.")
privateList<InvalidParameterDetail>invalidParams;
/** The ID of the entity that was accessed / requested. */
@Schema(description="The ID of the entity that was accessed / requested.")
privateUUIDentityId;
/** The name of the entity that was accessed / requested. */
@Schema(description="The name of the entity that was accessed / requested.")