РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
175 of 1361 menu

Метод getContent класса Request

Метод getContent класса Request возвращает тело HTTP-запроса в виде строки. Он используется для чтения данных, которые не были разобраны в параметры запроса: например, JSON- или XML-содержимое, отправленное в теле POST- или PUT-запроса. Метод не имеет обязательных параметров и возвращает строку. Если тело запроса пустое, метод вернёт пустую строку.

Синтаксис

public function getContent(): string

Пример

Давайте получим тело POST-запроса в контроллере и вернём его в ответе:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $res = $request->getContent(); return new Response($res); } } ?>

Результат выполнения кода для тела запроса 'hello':

hello

Пример

Давайте разберём JSON-тело запроса и вернём значение поля name:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/user', name: 'article_user')] public function user(Request $request): Response { $data = json_decode($request->getContent(), true); $res = $data['name']; return new Response($res); } } ?>

Результат выполнения кода для тела запроса '{"name": "abcde"}':

abcde

Пример

Давайте проверим, что тело запроса пустое, и вернём соответствующее сообщение:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/check', name: 'article_check')] public function check(Request $request): Response { if ($request->getContent() === '') { $res = 'empty body'; } else { $res = 'body exists'; } return new Response($res); } } ?>

Результат выполнения кода для пустого тела запроса:

empty body

Смотрите также

  • класс Request,
    который представляет HTTP-запрос
  • метод get,
    который возвращает параметр запроса
  • метод toArray,
    который возвращает параметры запроса массивом
  • метод getPayload,
    который возвращает тело запроса в виде объекта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить