Параметр format атрибута Route
Параметр format атрибута Route
задаёт формат представления данных для
маршрута. Он позволяет указать, в каком виде
должен быть возвращён ответ: например, в
формате html или json. Формат передаётся
как именованный параметр при объявлении
маршрута и учитывается при генерации URL
и разборе входящих запросов.
Значение формата не влияет на логику контроллера напрямую, но используется маршрутизатором для сопоставления запроса и построения ссылок. По умолчанию формат не задан и считается пустым.
Синтаксис
#[Route(path, name: name, format: format)]
Пример
Давайте объявим маршрут с форматом 'json':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index', format: 'json')]
public function index(): Response
{
return new Response('abcde');
}
}
?>
Результат выполнения кода для адреса /article:
abcde
Пример
Давайте сгенерируем URL с учётом формата 'json':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
use SymfonyComponentRoutingGeneratorUrlGeneratorInterface;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index', format: 'json')]
public function index(UrlGeneratorInterface $urlGenerator): Response
{
$url = $urlGenerator->generate('article_index');
return new Response($url);
}
}
?>
Результат выполнения кода:
"/article.json"
Смотрите также
-
атрибут
Route,
который вешает метод контроллера на указанный URL -
параметр
path,
который задаёт путь маршрута -
параметр
name,
который задаёт имя маршрута -
параметр
requirements,
который задаёт требования к параметрам маршрута