Класс BodyParserMiddleware
Парсинг закодированных данных тела запроса.
Разрешает парсинг JSON и XML загрузок запроса в тело запроса. Вы также можете добавить свои собственные парсеры тела запроса с помощью метода addParser().
Краткое описание свойств
Краткое описание методов
-
__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. -
methodsHTTP-методы для парсинга. По умолчанию 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 Функция парсера. Должна вернуть массив данных, которые будут вставлены в запрос.
Возвращает
$thisdecodeJson() protected
decodeJson(string $body): array|null
Декодирование JSON в массив.
Параметры
-
string$body Тело запроса для декодирования
Возвращает
array|nulldecodeXml() protected
decodeXml(string $body): array
Декодирование XML в массив.
Параметры
-
string$body Тело запроса для декодирования
Возвращает
arraygetMethods() 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\ResponseInterfacesetMethods() 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