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:

1var error = RESTResponseMgr.createError(400);
2error.custom.foo = "bar";
3error.render();

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

1{
2    "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/custom-errors/bad-request",
3    "c_foo": "bar"
4}

NOTE:

  • Custom attributes are rendered with “c_” prefix as shown in the example above.
  • Rendering works as described in JSON.stringify(Object).

Property Summary 

PropertyDescription
custom: CustomAttributes (read-only)Returns all the custom attributes associated with the error response object.

Constructor Summary 

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

Method Summary 

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.

Methods inherited from class Object 

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

Property Details 

custom 

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.


Method Details 

getCustom() 

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() 

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.

DID THIS ARTICLE SOLVE YOUR ISSUE?
Let us know so we can improve!