You are here

class ResourceResponse in Drupal 8

Same name in this branch
  1. 8 core/modules/jsonapi/src/ResourceResponse.php \Drupal\jsonapi\ResourceResponse
  2. 8 core/modules/rest/src/ResourceResponse.php \Drupal\rest\ResourceResponse
Same name and namespace in other branches
  1. 9 core/modules/jsonapi/src/ResourceResponse.php \Drupal\jsonapi\ResourceResponse
  2. 10 core/modules/jsonapi/src/ResourceResponse.php \Drupal\jsonapi\ResourceResponse

Contains data for serialization before sending the response.

We do not want to abuse the $content property on the Response class to store our response data. $content implies that the provided data must either be a string or an object with a __toString() method, which is not a requirement for data used here.

@internal JSON:API maintains no PHP API since its API is the HTTP API. This class may change at any time and this will break any dependencies on it.

Hierarchy

Expanded class hierarchy of ResourceResponse

See also

https://www.drupal.org/project/drupal/issues/3032787

jsonapi.api.php

\Drupal\rest\ModifiedResourceResponse

7 files declare their use of ResourceResponse
DefaultExceptionSubscriber.php in core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php
EntityResource.php in core/modules/jsonapi/src/Controller/EntityResource.php
EntryPoint.php in core/modules/jsonapi/src/Controller/EntryPoint.php
FileUpload.php in core/modules/jsonapi/src/Controller/FileUpload.php
ResourceResponseSubscriber.php in core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php

... See full list

File

core/modules/jsonapi/src/ResourceResponse.php, line 25

Namespace

Drupal\jsonapi
View source
class ResourceResponse extends Response implements CacheableResponseInterface {
  use CacheableResponseTrait;

  /**
   * Response data that should be serialized.
   *
   * @var mixed
   */
  protected $responseData;

  /**
   * Constructor for ResourceResponse objects.
   *
   * @param mixed $data
   *   Response data that should be serialized.
   * @param int $status
   *   The response status code.
   * @param array $headers
   *   An array of response headers.
   */
  public function __construct($data = NULL, $status = 200, array $headers = []) {
    $this->responseData = $data;
    parent::__construct('', $status, $headers);
  }

  /**
   * Returns response data that should be serialized.
   *
   * @return mixed
   *   Response data that should be serialized.
   */
  public function getResponseData() {
    return $this->responseData;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CacheableResponseTrait::$cacheabilityMetadata protected property The cacheability metadata.
CacheableResponseTrait::addCacheableDependency public function
CacheableResponseTrait::getCacheableMetadata public function
ResourceResponse::$responseData protected property Response data that should be serialized.
ResourceResponse::getResponseData public function Returns response data that should be serialized.
ResourceResponse::__construct public function Constructor for ResourceResponse objects.