You are here

class ResourceResponse in Drupal 9

Same name in this branch
  1. 9 core/modules/jsonapi/src/ResourceResponse.php \Drupal\jsonapi\ResourceResponse
  2. 9 core/modules/rest/src/ResourceResponse.php \Drupal\rest\ResourceResponse
Same name and namespace in other branches
  1. 8 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

  • class \Drupal\jsonapi\ResourceResponse extends \Symfony\Component\HttpFoundation\Response

Expanded class hierarchy of ResourceResponse

See also

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

jsonapi.api.php

\Drupal\rest\ModifiedResourceResponse

5 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
FileUpload.php in core/modules/jsonapi/src/Controller/FileUpload.php
ResourceResponseSubscriber.php in core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php
ResourceTestBase.php in core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php

File

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

Namespace

Drupal\jsonapi
View source
class ResourceResponse extends Response {

  /**
   * 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
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.