Class RESTErrorResponse

This class represents a REST error response that is compliant with RFC 9457. It can only be instantiated using the createError methods in RESTResponseMgr.

Here is an example:

The above script would result in an HTTP response with status code 400 and the following body:

NOTE:

  • Custom attributes are rendered with "c_" prefix as shown in the example above.
  • Rendering works as described in JSON.stringify(Object).
PropertyDescription
custom: CustomAttributes (read-only)Returns all the custom attributes associated with the error response object.

This class does not have a constructor, so you cannot create it directly.

MethodDescription
getCustom()Returns all the custom attributes associated with the error response object.
render()Sends the RESTErrorResponse object as an HTTP error response to the client, adhering to RFC 9457.

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

custom: CustomAttributes (read-only)

Returns all the custom attributes associated with the error response object. The attributes are stored for the lifetime of the error response object.


getCustom(): CustomAttributes

Returns all the custom attributes associated with the error response object. The attributes are stored for the lifetime of the error response object.

Returns:

  • All the custom attributes associated with the error response object.

render(): void

Sends the RESTErrorResponse object as an HTTP error response to the client, adhering to RFC 9457. This method sets the "Content-Type" header to "application/problem+json", HTTP Status Code to statusCode attribute and constructs the body from type, title, detail and custom attributes of the object. Custom attributes are rendered with "c_" prefix to the attribute name.

Throws:

  • IllegalStateException - If the RESTErrorResponse object is already rendered.
  • Exception - If there is an error while serializing the RESTErrorResponse object.