Spec-Zone.ru › CakePHP 4.2

Класс BodyParserMiddleware

Парсинг закодированных данных тела запроса.

Разрешает парсинг JSON и XML загрузок запроса в тело запроса. Вы также можете добавить свои собственные парсеры тела запроса с помощью метода addParser().

Пространство имен: Cake\Http\Middleware

Краткое описание свойств

  • $methods protected
    string[]

    HTTP-методы для парсинга данных.

  • $parsers protected
    Closure[]

    Зарегистрированные парсеры

Краткое описание методов

  • __construct() public

    Конструктор

  • addParser() public

    Добавить парсер.

  • decodeJson() protected

    Декодирование JSON в массив.

  • decodeXml() protected

    Декодирование XML в массив.

  • getMethods() public

    Получить HTTP-методы для парсинга тел запросов.

  • getParsers() public

    Получить текущие парсеры

  • process() public

    Применение мидлвара.

  • setMethods() public

    Установить HTTP-методы для парсинга тел запросов.

Подробное описание методов

__construct() public

__construct(array $options = [])

Конструктор

Параметры

  • json Установите в false, чтобы отключить парсинг тела JSON.
  • xml Установите в true, чтобы включить парсинг XML. По умолчанию false, так как обработка XML требует больше внимания, чем JSON.
  • methods HTTP-методы для парсинга. По умолчанию PUT, POST, PATCH, DELETE.

Параметры

array $options optional

Используемые параметры. См. выше.

addParser() public

addParser(string[] $types, Closure $parser): $this

Добавить парсер.

Сопоставьте значения заголовка content-type для парсинга с помощью $parser.

Пример

Наивный парсер тела запроса CSV можно создать следующим образом:

$parser->addParser(['text/csv'], function ($body) {
  return str_getcsv($body);
});

Параметры

string[] $types

Массив значений заголовка content-type для соответствия. Например, application/json

Closure $parser

Функция парсера. Должна вернуть массив данных, которые будут вставлены в запрос.

Возвращает

$this

decodeJson() protected

decodeJson(string $body): array|null

Декодирование JSON в массив.

Параметры

string $body

Тело запроса для декодирования

Возвращает

array|null

decodeXml() protected

decodeXml(string $body): array

Декодирование XML в массив.

Параметры

string $body

Тело запроса для декодирования

Возвращает

array

getMethods() public

getMethods(): string[]

Получить HTTP-методы для парсинга тел запросов.

Возвращает

string[]

getParsers() public

getParsers(): Closure[]

Получить текущие парсеры

Возвращает

Closure[]

process() public

process(ServerRequestInterface $request, RequestHandlerInterface $handler): Psr\Http\Message\ResponseInterface

Применение мидлвара.

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

Параметры

ServerRequestInterface $request

Запрос.

RequestHandlerInterface $handler

Обработчик запроса.

Возвращает

Psr\Http\Message\ResponseInterface

setMethods() public

setMethods(string[] $methods): $this

Установить HTTP-методы для парсинга тел запросов.

Параметры

string[] $methods

Методы для парсинга данных.

Возвращает

$this

Подробное описание свойств

$methods protected

HTTP-методы для парсинга данных.

Тип

string[]

$parsers protected

Зарегистрированные парсеры

Тип

Closure[]

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Http.Middleware.BodyParserMiddleware.html

Spec-Zone.ru

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