Class RESTErrorResponse

<!-- prettier-ignore-start -->

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:


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

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


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

NOTE:

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

Property Summary

Property Description
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

Method Description
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.

<!-- prettier-ignore-end -->