Spec-Zone.ru › Symfony 4.1

JsonResponse

class JsonResponse extends Response

Ответ представляет HTTP-ответ в формате JSON.

Обратите внимание, что этот класс не принуждает возвращаемое содержимое JSON быть объектом. Однако рекомендуется возвращать объект, так как это защищает от XSSI и JSON-JavaScript Hijacking.

Постоянные значения

HTTP_CONTINUE
HTTP_SWITCHING_PROTOCOLS
HTTP_PROCESSING
HTTP_EARLY_HINTS
HTTP_OK
HTTP_CREATED
HTTP_ACCEPTED
HTTP_NON_AUTHORITATIVE_INFORMATION
HTTP_NO_CONTENT
HTTP_RESET_CONTENT
HTTP_PARTIAL_CONTENT
HTTP_MULTI_STATUS
HTTP_ALREADY_REPORTED
HTTP_IM_USED
HTTP_MULTIPLE_CHOICES
HTTP_MOVED_PERMANENTLY
HTTP_FOUND
HTTP_SEE_OTHER
HTTP_NOT_MODIFIED
HTTP_USE_PROXY
HTTP_RESERVED
HTTP_TEMPORARY_REDIRECT
HTTP_PERMANENTLY_REDIRECT
HTTP_BAD_REQUEST
HTTP_UNAUTHORIZED
HTTP_PAYMENT_REQUIRED
HTTP_FORBIDDEN
HTTP_NOT_FOUND
HTTP_METHOD_NOT_ALLOWED
HTTP_NOT_ACCEPTABLE
HTTP_PROXY_AUTHENTICATION_REQUIRED
HTTP_REQUEST_TIMEOUT
HTTP_CONFLICT
HTTP_GONE
HTTP_LENGTH_REQUIRED
HTTP_PRECONDITION_FAILED
HTTP_REQUEST_ENTITY_TOO_LARGE
HTTP_REQUEST_URI_TOO_LONG
HTTP_UNSUPPORTED_MEDIA_TYPE
HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
HTTP_EXPECTATION_FAILED
HTTP_I_AM_A_TEAPOT
HTTP_MISDIRECTED_REQUEST
HTTP_UNPROCESSABLE_ENTITY
HTTP_LOCKED
HTTP_FAILED_DEPENDENCY
HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL
HTTP_TOO_EARLY
HTTP_UPGRADE_REQUIRED
HTTP_PRECONDITION_REQUIRED
HTTP_TOO_MANY_REQUESTS
HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
HTTP_UNAVAILABLE_FOR_LEGAL_REASONS
HTTP_INTERNAL_SERVER_ERROR
HTTP_NOT_IMPLEMENTED
HTTP_BAD_GATEWAY
HTTP_SERVICE_UNAVAILABLE
HTTP_GATEWAY_TIMEOUT
HTTP_VERSION_NOT_SUPPORTED
HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
HTTP_INSUFFICIENT_STORAGE
HTTP_LOOP_DETECTED
HTTP_NOT_EXTENDED
HTTP_NETWORK_AUTHENTICATION_REQUIRED
DEFAULT_ENCODING_OPTIONS

Свойства

ResponseHeaderBag $headers из Response
protected string $content из Response
protected string $version из Response
protected int $statusCode из Response
protected string $statusText из Response
protected string $charset из Response
static array $statusTexts Таблица преобразования кодов состояния. из Response
protected $data
protected $callback
protected $encodingOptions

Методы

__construct(mixed $data = null, int $status = 200, array $headers = array(), bool $json = false)
static Response create(mixed $data = null, int $status = 200, array $headers = array())

Метод фабрики для цепочечной обработки.

string __toString()

Возвращает ответ как строку HTTP.

from Response
__clone()

Клонирует текущий экземпляр Response.

from Response
$this prepare(Request $request)

Подготавливает ответ перед отправкой клиенту.

from Response
$this sendHeaders()

Отправляет HTTP-заголовки.

from Response
$this sendContent()

Отправляет содержимое для текущего веб-ответа.

from Response
$this send()

Отправляет HTTP-заголовки и содержимое.

from Response
$this setContent(mixed $content)

Устанавливает содержимое ответа.

from Response
string getContent()

Получает текущее содержимое ответа.

from Response
$this setProtocolVersion(string $version)

Устанавливает версию HTTP-протокола (1.0 или 1.1).

from Response
string getProtocolVersion()

Получает версию HTTP-протокола.

from Response
$this setStatusCode(int $code, $text = null)

Устанавливает код состояния ответа.

from Response
int getStatusCode()

Получает код состояния для текущего веб-ответа.

from Response
$this setCharset(string $charset)

Устанавливает кодировку символов ответа.

from Response
string|null getCharset()

Получает кодировку символов ответа.

from Response
bool isCacheable()

Возвращает true, если ответ может безопасно храниться в общем кэше.

from Response
bool isFresh()

Возвращает true, если ответ «свежий».

from Response
bool isValidateable()

Возвращает true, если ответ содержит заголовки, которые могут быть использованы для проверки ответа с исходным сервером с помощью условного запроса GET.

from Response
$this setPrivate()

Помечает ответ как «частный».

from Response
$this setPublic()

Помечает ответ как «общедоступный».

from Response
$this setImmutable(bool $immutable = true)

Помечает ответ как «неизменяемый».

from Response
bool isImmutable()

Возвращает true, если ответ помечен как «неизменяемый».

from Response
bool mustRevalidate()

Возвращает true, если ответ должен быть повторно проверен кэшами.

from Response
DateTimeInterface|null getDate()

Возвращает заголовок Date как экземпляр DateTime.

from Response
$this setDate(DateTimeInterface $date)

Устанавливает заголовок Date.

from Response
int getAge()

Возвращает возраст ответа во секундах.

from Response
$this expire()

Помечает ответ устаревшим, установив заголовок Age равным максимальному возрасту ответа.

from Response
DateTimeInterface|null getExpires()

Возвращает значение заголовка Expires как экземпляр DateTime.

from Response
$this setExpires(DateTimeInterface $date = null)

Устанавливает HTTP-заголовок Expires с помощью экземпляра DateTime.

from Response
int|null getMaxAge()

Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.

from Response
$this setMaxAge(int $value)

Устанавливает количество секунд, по истечении которых ответ больше не должен считаться свежим.

from Response
$this setSharedMaxAge(int $value)

Устанавливает количество секунд, по истечении которых ответ больше не должен считаться свежим для общих кэшей.

from Response
int|null getTtl()

Возвращает время жизни ответа в секундах.

from Response
$this setTtl(int $seconds)

Устанавливает время жизни ответа для общих кэшей в секундах.

from Response
$this setClientTtl(int $seconds)

Устанавливает время жизни ответа для частных/клиентских кэшей в секундах.

from Response
DateTimeInterface|null getLastModified()

Возвращает заголовок Last-Modified как экземпляр DateTime.

from Response
$this setLastModified(DateTimeInterface $date = null)

Устанавливает заголовок Last-Modified с помощью экземпляра DateTime.

from Response
string|null getEtag()

Возвращает буквальное значение HTTP-заголовка ETag.

from Response
$this setEtag(string $etag = null, bool $weak = false)

Устанавливает значение ETag.

from Response
$this setCache(array $options)

Устанавливает кэш-заголовки ответа (валидация и/или срок действия).

from Response
$this setNotModified()

Изменяет ответ так, чтобы он соответствовал правилам, определённым для кода состояния 304.

из Response
bool hasVary()

Возвращает true, если ответ включает заголовок Vary.

из Response
array getVary()

Возвращает массив имён заголовков, указанных в заголовке Vary.

из Response
$this setVary(string|array $headers, bool $replace = true)

Устанавливает заголовок Vary.

из Response
bool isNotModified(Request $request)

Определяет, соответствуют ли проверка ответа (ETag, Last-Modified) условным значениям, указанным в запросе.

из Response
bool isInvalid()

Недействителен ли ответ?

из Response
bool isInformational()

Является ли ответ информативным?

из Response
bool isSuccessful()

Успешен ли ответ?

из Response
bool isRedirection()

Является ли ответ перенаправлением?

из Response
bool isClientError()

Возникла ли ошибка клиента?

из Response
bool isServerError()

Возникла ли ошибка на стороне сервера?

из Response
bool isOk()

Успешен ли ответ?

из Response
bool isForbidden()

Запрещён ли ответ?

из Response
bool isNotFound()

Является ли ответ ошибкой «не найдено»?

из Response
bool isRedirect(string $location = null)

Является ли ответ перенаправлением?

из Response
bool isEmpty()

Пуст ли ответ?

из Response
static closeOutputBuffers(int $targetLevel, bool $flush)

Очищает или сбрасывает буферы вывода до заданного уровня.

из Response
ensureIEOverSSLCompatibility(Request $request)

Проверяет, нужно ли удалить Cache-Control для загрузок по SSL, когда используется IE < 9.

из Response
static fromJsonString($data = null, $status = 200, $headers = array())

Упрощает создание JsonResponse из исходного JSON.

$this setCallback(string|null $callback = null)

Устанавливает обратный вызов JSONP.

$this setJson(string $json)

Устанавливает строку, содержащую JSON-документ, который должен быть отправлен.

$this setData(mixed $data = array())

Устанавливает данные, которые должны быть отправлены в формате JSON.

int getEncodingOptions()

Возвращает параметры, используемые при кодировании данных в JSON.

$this setEncodingOptions(int $encodingOptions)

Устанавливает параметры, используемые при кодировании данных в JSON.

$this update()

Обновляет содержимое и заголовки в соответствии с данными JSON и обратным вызовом.

Подробности

__construct(mixed $data = null, int $status = 200, array $headers = array(), bool $json = false)

Параметры

mixed $data Данные ответа
int $status
array $headers
bool $json Если данные уже являются строкой JSON

static Response create(mixed $data = null, int $status = 200, array $headers = array())

Метод-фабрика для цепочки вызовов.

Пример:

return JsonResponse::create($data, 200)
    ->setSharedMaxAge(300);

Параметры

mixed $data Данные ответа в формате JSON
int $status Код состояния ответа
array $headers Массив заголовков ответа

Значение результата

Response

string __toString()

Возвращает ответ как строку HTTP.

Представление ответа в виде строки совпадает с тем, что будет отправлено клиенту только в том случае, если метод prepare() был вызван ранее.

Значение результата

string Ответ как строка HTTP

См. также

prepare()

__clone()

Клонирует текущий экземпляр Response.

$this prepare(Request $request)

Подготавливает ответ перед отправкой клиенту.

Этот метод корректирует ответ, чтобы гарантировать его соответствие RFC 2616. Большинство изменений основано на запросе, «связанном» с этим ответом.

Параметры

Request $request

Значение результата

$this

$this sendHeaders()

Отправляет HTTP-заголовки.

Значение результата

$this

$this sendContent()

Отправляет содержимое текущего веб-ответа.

Значение результата

$this

$this send()

Отправляет HTTP-заголовки и содержимое.

Значение результата

$this

$this setContent(mixed $content)

Устанавливает содержимое ответа.

Допустимые типы: строки, числа, null и объекты, реализующие метод __toString().

Параметры

mixed $content Содержимое, которое можно преобразовать в строку

Значение результата

$this

Исключения

UnexpectedValueException

string getContent()

Получает текущее содержимое ответа.

Значение результата

string Содержимое

$this setProtocolVersion(string $version)

Устанавливает версию протокола HTTP (1.0 или 1.1).

Параметры

string $version

Значение результата

$this

string getProtocolVersion()

Получает версию протокола HTTP.

Значение результата

string

$this setStatusCode(int $code, $text = null)

Устанавливает код состояния ответа.

Если текст состояния равен null, он будет автоматически заполнен для известных кодов состояния и оставлен пустым в противном случае.

Параметры

int $code
$text

Значение результата

$this

Исключения

InvalidArgumentException При неверном коде HTTP-состояния

int getStatusCode()

Возвращает код состояния текущего веб-ответа.

Значение результата

int

$this setCharset(string $charset)

Устанавливает кодировку ответа.

Параметры

string $charset

Значение результата

$this

string|null getCharset()

Возвращает кодировку ответа.

Значение результата

string|null

bool isCacheable()

Возвращает true, если ответ можно безопасно хранить в общем (суррогатном) кэше.

Ответы, помеченные как «private» с явным директивой Cache-Control, считаются некэшируемыми.

Ответы без срока хранения (Expires, max-age) или валидатора кэша (Last-Modified, ETag) считаются некэшируемыми, так как нет способа определить, когда и как их удалить из кэша.

Обратите внимание, что RFC 7231 и RFC 7234, возможно, допускают более гибкую реализацию, например, «коды состояния, которые по умолчанию определены как кэшируемые [...] могут быть повторно использованы кэшем с эвристическим сроком действия, если не указано иное» (https://tools.ietf.org/html/rfc7231#section-6.1)

Значение результата

bool

bool isFresh()

Возвращает true, если ответ «свежий».

Свежие ответы могут быть возвращены из кэша без взаимодействия с источником. Ответ считается свежим, если он содержит индикатор Cache-Control/max-age или заголовок Expires, а рассчитанный возраст меньше срока действия.

Значение результата

bool

bool isValidateable()

Возвращает true, если ответ содержит заголовки, которые могут быть использованы для проверки ответа с сервером-источником с помощью условного запроса GET.

Значение результата

bool

$this setPrivate()

Помечает ответ как «private».

Это делает ответ недоступным для других клиентов.

Значение результата

$this

$this setPublic()

Помечает ответ как «public».

Это делает ответ доступным для других клиентов.

Значение результата

$this

$this setImmutable(bool $immutable = true)

Помечает ответ как «immutable».

Параметры

bool $immutable

Значение результата

$this

bool isImmutable()

Возвращает true, если ответ помечен как «immutable».

Значение результата

bool

bool mustRevalidate()

Возвращает true, если ответ необходимо перепроверить в кэшах.

Этот метод указывает, что ответ не должен быть представлен устаревшим кэшем в каких-либо обстоятельствах без предварительной проверки с источником. При наличии TTL ответа не следует изменять, чтобы он был больше, чем значение, предоставленное источником.

Значение результата

bool

DateTimeInterface|null getDate()

Возвращает заголовок Date как экземпляр DateTime.

Значение результата

DateTimeInterface|null

Исключения

RuntimeException При невозможности парсинга заголовка

$this setDate(DateTimeInterface $date)

Устанавливает заголовок Date.

Параметры

DateTimeInterface $date

Значение результата

$this

int getAge()

Возвращает возраст ответа в секундах.

Значение результата

int

$this expire()

Помечает ответ устаревшим, установив заголовок Age равным максимальному возрасту ответа.

Значение результата

$this

DateTimeInterface|null getExpires()

Возвращает значение заголовка Expires как экземпляр DateTime.

Значение результата

DateTimeInterface|null

$this setExpires(DateTimeInterface $date = null)

Устанавливает HTTP-заголовок Expires с экземпляром DateTime.

Передача null в качестве значения удалит заголовок.

Параметры

DateTimeInterface $date

Значение возврата

$this

int|null getMaxAge()

Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.

Сначала проверяется директива s-maxage, затем max-age, а затем используется заголовок expires. Возвращает null, когда максимальный срок действия не может быть установлен.

Значение возврата

int|null

$this setMaxAge(int $value)

Устанавливает количество секунд, после которого ответ больше не должен считаться свежим.

Этот метод устанавливает директиву Cache-Control max-age.

Параметры

int $value

Значение возврата

$this

$this setSharedMaxAge(int $value)

Устанавливает количество секунд, после которого ответ больше не должен считаться свежим общими кэшами.

Этот метод устанавливает директиву Cache-Control s-maxage.

Параметры

int $value

Значение возврата

$this

int|null getTtl()

Возвращает время жизни ответа в секундах.

Возвращает null, если информация о свежести отсутствует в ответе.

Если время жизни ответа <= 0, ответ может не быть передан из кэша без предварительной перепроверки с источником.

Значение возврата

int|null

$this setTtl(int $seconds)

Устанавливает время жизни ответа для общих кэшей в секундах.

Этот метод корректирует директиву Cache-Control/s-maxage.

Параметры

int $seconds

Значение возврата

$this

$this setClientTtl(int $seconds)

Устанавливает время жизни ответа для частных/клиентских кэшей в секундах.

Этот метод корректирует директиву Cache-Control/max-age.

Параметры

int $seconds

Значение возврата

$this

DateTimeInterface|null getLastModified()

Возвращает заголовок Last-Modified HTTP как экземпляр DateTime.

Значение возврата

DateTimeInterface|null

Исключения

RuntimeException При невозможности парсинга HTTP-заголовка

$this setLastModified(DateTimeInterface $date = null)

Устанавливает HTTP-заголовок Last-Modified с экземпляром DateTime.

Передача null в качестве значения удалит заголовок.

Параметры

DateTimeInterface $date

Значение возврата

$this

string|null getEtag()

Возвращает фактическое значение HTTP-заголовка ETag.

Значение возврата

string|null

$this setEtag(string $etag = null, bool $weak = false)

Устанавливает значение ETag.

Параметры

string $etag Уникальный идентификатор ETag или null для удаления заголовка
bool $weak Нужно ли слабый ETag или нет

Значение возврата

$this

$this setCache(array $options)

Устанавливает кэшированные заголовки ответа (валидация и/или срок действия).

Доступные параметры: etag, last_modified, max_age, s_maxage, private, public и immutable.

Параметры

array $options

Значение возврата

$this

Исключения

InvalidArgumentException

$this setNotModified()

Изменяет ответ в соответствии с правилами для кода состояния 304.

Устанавливает состояние, удаляет тело и отбрасывает заголовки, которые НЕ ДОЛЖНЫ включаться в ответы 304.

Значение возврата

$this

См. также

http://tools.ietf.org/html/rfc2616#section-10.3.5

bool hasVary()

Возвращает true, если ответ содержит заголовок Vary.

Значение возврата

bool

array getVary()

Возвращает массив имен заголовков, указанных в заголовке Vary.

Значение возврата

array

$this setVary(string|array $headers, bool $replace = true)

Устанавливает заголовок Vary.

Параметры

string|array $headers
bool $replace Заменять ли фактическое значение (по умолчанию true)

Значение возврата

$this

bool isNotModified(Request $request)

Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условному значению, указанному в запросе.

Если ответ не изменён, он устанавливает код состояния 304 и удаляет фактическое содержимое, вызвав метод setNotModified().

Параметры

Request $request

Значение возврата

bool true, если валидаторы ответа соответствуют запросу, иначе false

bool isInvalid()

Недействителен ли ответ?

Значение возврата

bool

См. также

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

bool isInformational()

Информативен ли ответ?

Значение возврата

bool

bool isSuccessful()

Успешен ли ответ?

Значение возврата

bool

bool isRedirection()

Является ли ответ перенаправлением?

Значение возврата

bool

bool isClientError()

Есть ли ошибка клиента?

Значение возврата

bool

bool isServerError()

Была ли ошибка на стороне сервера?

Значение возврата

bool

bool isOk()

Успешен ли ответ?

Значение возврата

bool

bool isForbidden()

Запрещён ли доступ?

Значение возврата

bool

bool isNotFound()

Ошибка не найдено?

Значение возврата

bool

bool isRedirect(string $location = null)

Является ли ответ перенаправлением?

Параметры

string $location

Значение возврата

bool

bool isEmpty()

Пустой ли ответ?

Значение возврата

bool

static closeOutputBuffers(int $targetLevel, bool $flush)

Очищает или сбрасывает буферы вывода до целевого уровня.

Результирующий уровень может быть больше целевого уровня, если был встречен не удаляемый буфер.

Параметры

int $targetLevel
bool $flush

protected ensureIEOverSSLCompatibility(Request $request)

Проверяет, нужно ли удалить Cache-Control для загрузок по SSL, если используется IE < 9.

Параметры

Request $request

См. также

http://support.microsoft.com/kb/323308

static fromJsonString($data = null, $status = 200, $headers = array())

Упрощает создание JsonResponse из обычного JSON.

Параметры

$data
$status
$headers

$this setCallback(string|null $callback = null)

Устанавливает обратный вызов JSONP.

Параметры

string|null $callback Обратный вызов JSONP или null для отключения

Возвращаемое значение

$this

Исключения

InvalidArgumentException При некорректном имени обратного вызова

$this setJson(string $json)

Устанавливает строку с JSON документом для отправки.

Параметры

string $json

Возвращаемое значение

$this

Исключения

InvalidArgumentException

$this setData(mixed $data = array())

Устанавливает данные для отправки в формате JSON.

Параметры

mixed $data

Возвращаемое значение

$this

Исключения

InvalidArgumentException

int getEncodingOptions()

Возвращает параметры, используемые при кодировании данных в JSON.

Возвращаемое значение

int

$this setEncodingOptions(int $encodingOptions)

Устанавливает параметры, используемые при кодировании данных в JSON.

Параметры

int $encodingOptions

Возвращаемое значение

$this

protected $this update()

Обновляет содержимое и заголовки в соответствии с данными JSON и обратным вызовом.

Возвращаемое значение

$this

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/HttpFoundation/JsonResponse.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API