Symfony 4 .{_format} 不工作
Symfony 4 .{_format} not working
所以我找到了这条路线
/**
* @Route("/user/{id}/diary.{_format}",
* defaults={"_format": "json"},
* requirements={
* "id": "\d+",
* "_format": "csv|json"
* }
* )
*/
public function showRaw(User $user, Request $request)
{
}
因此,当我访问 /user/1/diary 时,它可以与我在函数中编写的任何内容一起使用,但是当我尝试访问 /user/1/diary.json 或 /user/1/diary.csv 时,我得到一个 404 错误,所以我猜路由参数没有正确匹配。
我想,根据格式,return 不同的响应,但直到现在我无法获得格式。
在此先感谢您的帮助。
我假设您使用的是 PHP 的内置开发服务器,没有显式路由脚本:
[saizferri:public]$ php -S localhost:5000
或:
[saizferri:symfony_project]$ php -S localhost:5000 -t public/
当 运行 像这样时,PHP 通过在当前目录(或 -t
给出的根目录)中查找请求的资源来处理每个请求。如果在手册中没有找到and PHP thinks it is a file—as it did in the case of /user/1/diary.csv
—PHP will return HTTP 404; otherwise, PHP will search for index.php
or index.html
, and, if either is found, it is served with $_SERVER["PATH_INFO"]
set appropriately—this is why you were able to view /user/1/diary
. (See the description。)
相反,告诉 PHP 通过 public/index.php
路由所有请求:
php -S localhost:<port> public/index.php
所以我找到了这条路线
/**
* @Route("/user/{id}/diary.{_format}",
* defaults={"_format": "json"},
* requirements={
* "id": "\d+",
* "_format": "csv|json"
* }
* )
*/
public function showRaw(User $user, Request $request)
{
}
因此,当我访问 /user/1/diary 时,它可以与我在函数中编写的任何内容一起使用,但是当我尝试访问 /user/1/diary.json 或 /user/1/diary.csv 时,我得到一个 404 错误,所以我猜路由参数没有正确匹配。
我想,根据格式,return 不同的响应,但直到现在我无法获得格式。
在此先感谢您的帮助。
我假设您使用的是 PHP 的内置开发服务器,没有显式路由脚本:
[saizferri:public]$ php -S localhost:5000
或:
[saizferri:symfony_project]$ php -S localhost:5000 -t public/
当 运行 像这样时,PHP 通过在当前目录(或 -t
给出的根目录)中查找请求的资源来处理每个请求。如果在手册中没有找到and PHP thinks it is a file—as it did in the case of /user/1/diary.csv
—PHP will return HTTP 404; otherwise, PHP will search for index.php
or index.html
, and, if either is found, it is served with $_SERVER["PATH_INFO"]
set appropriately—this is why you were able to view /user/1/diary
. (See the description。)
相反,告诉 PHP 通过 public/index.php
路由所有请求:
php -S localhost:<port> public/index.php