Spec-Zone.ru › CakePHP 4.4

Класс BodyParserMiddleware

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

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

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

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

  • $methods protected
    array<string>

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

  • $parsers protected
    arrayClosure>

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

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

  • __construct() public

    Конструктор

  • addParser() public

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

  • decodeJson() protected

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

  • decodeXml() protected

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

  • getMethods() public

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

  • getParsers() public

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

  • process() public

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

  • setMethods() public

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

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

__construct() public

__construct(array<string, mixed> $options = [])

Конструктор

Параметры

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

Параметры

array<string, mixed> $options optional

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

addParser() public

addParser(array<string> $types, Closure $parser): $this

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

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

Пример

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

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

Параметры

array<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(): array<string>

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

Возвращает

array<string>

getParsers() public

getParsers(): arrayClosure>

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

Возвращает

arrayClosure>

process() public

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

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

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

Параметры

ServerRequestInterface $request

Запрос.

RequestHandlerInterface $handler

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

Возвращает

Psr\Http\Message\ResponseInterface

setMethods() public

setMethods(array<string> $methods): $this

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

Параметры

array<string> $methods

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

Возвращает

$this

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

$methods protected

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

Тип

array<string>

$parsers protected

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

Тип

arrayClosure>

© 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.4/class-Cake.Http.Middleware.BodyParserMiddleware.html

Spec-Zone.ru

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