Класс BodyParserMiddleware
Парсинг закодированных данных тела запроса.
Разрешает парсинг JSON и XML данных тела запроса в свойства запроса. Обеспечивает защиту CSRF и валидацию.
Вы также можете добавить свои собственные парсеры тела запроса, используя метод addParser().
Краткое описание свойств
-
$methodsprotectedHTTP-методы для парсинга данных.array -
$parsersprotectedЗарегистрированные парсерыarray
Краткое описание методов
- __construct() publicКонструктор
- __invoke() publicПрименение мидлвеара.
- addParser() publicДобавление парсера.
- decodeJson() protectedДекодирование JSON в массив.
- decodeXml() protectedДекодирование XML в массив.
- setMethods() publicУстановка HTTP-методов для парсинга тела запроса.
Подробное описание методов
__construct()source public
__construct( array $options = [] )
Конструктор
Параметры
-
jsonУстановите в false, чтобы отключить парсинг тела запроса в формате JSON. -
xmlУстановите в true, чтобы включить парсинг XML. По умолчанию false, так как обработка XML требует большего внимания, чем JSON. -
methodsHTTP-методы для парсинга. По умолчанию PUT, POST, PATCH, DELETE.
Параметры
- массив
$optionsнеобязательно [] - Параметры для использования. Смотрите выше.
__invoke()source public
__invoke( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , callable $next )
Применение мидлвеара.
Изменяет запрос, добавляя обработанное тело, если тип контента известен.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Запрос.
- Psr\Http\Message\ResponseInterface
$response - Ответ.
- вызываемый объект
$next - Вызываемый объект для вызова следующего мидлвеара.
Возвращаемое значение
Cake\Http\ResponseОтвет
addParser()source public
addParser( array $types , callable $parser )
Добавление парсера.
Сопоставление набора значений заголовка content-type для парсинга с помощью $parser.
Пример
Наивный парсер тела запроса CSV можно создать следующим образом:
$parser->addParser(['text/csv'], function ($body) {
return str_getcsv($body);
}); Параметры
- массив
$types - Массив значений заголовка content-type для сопоставления. Например, application/json
- вызываемый объект
$parser Функция парсера. Должна вернуть массив данных для вставки в запрос.
Возвращаемое значение
$this
decodeJson()source protected
decodeJson( string $body )
Декодирование JSON в массив.
Параметры
- строка
$body - Тело запроса для декодирования
Возвращаемое значение
массивdecodeXml()source protected
decodeXml( string $body )
Декодирование XML в массив.
Параметры
- строка
$body - Тело запроса для декодирования
Возвращаемое значение
массивsetMethods()source public
setMethods( array $methods )
Установка HTTP-методов для парсинга тела запроса.
Параметры
- массив
$methods - Методы для парсинга данных.
Возвращаемое значение
$this
Подробное описание свойств
© 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/3.7/class-Cake.Http.Middleware.BodyParserMiddleware.html