Class Response

java.lang.Object
org.apache.juneau.bean.openapi3.OpenApiElement
org.apache.juneau.bean.openapi3.Response

public class Response extends OpenApiElement
Describes a single response from an API operation.

The Response Object describes a single response from an API operation, including a description, headers, content, and links. Responses are returned based on the HTTP status code, with the most common being success responses (2xx), redirects (3xx), client errors (4xx), and server errors (5xx).

OpenAPI Specification:

The Response Object is composed of the following fields:

  • description (string, REQUIRED) - A short description of the response (CommonMark syntax may be used)
  • headers (map of HeaderInfo) - Maps a header name to its definition
  • content (map of MediaType) - A map containing descriptions of potential response payloads (keys are media types)
  • links (map of Link) - A map of operations links that can be followed from the response
Example:

// Create a successful response with JSON content Response response = new Response() .setDescription("A list of pets") .setContent( JsonMap.of( "application/json", new MediaType() .setSchema( new SchemaInfo() .setType("array") .setItems(new Items().setRef("#/components/schemas/Pet")) ) ) ) .setHeaders( JsonMap.of( "X-Rate-Limit", new HeaderInfo() .setDescription("Requests per hour allowed by the user") .setSchema(new SchemaInfo().setType("integer")) ) );

See Also:
  • Constructor Details

    • Response

      public Response()
      Default constructor.
    • Response

      public Response(Response copyFrom)
      Copy constructor.
      Parameters:
      copyFrom - The object to copy.
  • Method Details

    • copy

      public Response copy()
      Make a deep copy of this object.
      Returns:
      A deep copy of this object.
    • strict

      protected Response strict()
      Description copied from class: OpenApiElement
      Sets strict mode on this bean.
      Overrides:
      strict in class OpenApiElement
      Returns:
      This object
    • strict

      public Response strict(Object value)
      Description copied from class: OpenApiElement
      Sets strict mode on this bean.
      Overrides:
      strict in class OpenApiElement
      Parameters:
      value - The new value for this property.
      Non-boolean values will be converted to boolean using Boolean.valueOf(value.toString()).
      Can be null (interpreted as false).
      Returns:
      This object
    • getDescription

      Bean property getter: Description.

      The URL pointing to the contact information.

      Returns:
      The property value, or null if it is not set.
    • setDescription

      public Response setDescription(String value)
      Bean property setter: Description.

      The value can be of any of the following types: URI, URL, String.
      Strings must be valid URIs.

      URIs defined by UriResolver can be used for values.

      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • getHeaders

      Bean property getter: headers.
      Returns:
      The property value, or null if it is not set.
    • getHeader

      public HeaderInfo getHeader(String name)
      Returns the header with the specified name.
      Parameters:
      name - The header name. Must not be null.
      Returns:
      The header info, or null if not found.
    • setHeaders

      Bean property setter: headers.
      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • addHeader

      public Response addHeader(String key, HeaderInfo value)
      Adds one or more values to the headers property.
      Parameters:
      key - The mapping key. Must not be null.
      value - The values to add to this property. Must not be null.
      Returns:
      This object
    • getContent

      Bean property getter: content.
      Returns:
      The property value, or null if it is not set.
    • getContent

      public MediaType getContent(String mediaType)
      Returns the content with the specified media type.
      Parameters:
      mediaType - The media type. Must not be null.
      Returns:
      The media type info, or null if not found.
    • setContent

      Bean property setter: content.
      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • addContent

      public Response addContent(String key, MediaType value)
      Adds one or more values to the content property.
      Parameters:
      key - The mapping key. Must not be null.
      value - The values to add to this property. Must not be null.
      Returns:
      This object
    • getLinks

      public Map<String,Link> getLinks()
      Bean property getter: links.
      Returns:
      The property value, or null if it is not set.
    • getLink

      public Link getLink(String name)
      Returns the link with the specified name.
      Parameters:
      name - The link name. Must not be null.
      Returns:
      The link info, or null if not found.
    • setLinks

      public Response setLinks(Map<String,Link> value)
      Bean property setter: links.
      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • addLink

      public Response addLink(String key, Link value)
      Adds one or more values to the links property.
      Parameters:
      key - The mapping key. Must not be null.
      value - The values to add to this property. Must not be null.
      Returns:
      This object
    • get

      public <T> T get(String property, Class<T> type)
      Description copied from class: OpenApiElement
      Generic property getter.

      Can be used to retrieve non-standard Swagger fields such as "$ref".

      Overrides:
      get in class OpenApiElement
      Type Parameters:
      T - The datatype to cast the value to.
      Parameters:
      property - The property name to retrieve.
      type - The datatype to cast the value to.
      Returns:
      The property value, or null if the property does not exist or is not set.
    • set

      public Response set(String property, Object value)
      Description copied from class: OpenApiElement
      Generic property setter.

      Can be used to set non-standard Swagger fields such as "$ref".

      Overrides:
      set in class OpenApiElement
      Parameters:
      property - The property name to set. Must not be null.
      value - The new value for the property.
      Returns:
      This object
    • keySet

      public Set<String> keySet()
      Description copied from class: OpenApiElement
      Returns all the keys on this element.
      Overrides:
      keySet in class OpenApiElement
      Returns:
      All the keys on this element.
      Never null.