所以,我的项目中有REST api
我正在尝试使用cUrl向API发出请求。但Symfony返回301
路由:
CMContestBundle_api_new:
type: rest
pattern: /{_locale}/api/contest/new/
defaults: { _controller: CMContestBundle:API:new, _locale: en }
requirements:
_method: GET
安全
- { path: ^/(en|no|dk|se|es|it|pl)/api/contest/new, role: IS_AUTHENTICATED_ANONYMOUSLY, methods : GET }
卷曲请求
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X GET http://localhost/app_dev.php/en/api/contest/new
当我在浏览器中输入此网址时 - 一切正常。但如果这是curl请求,则返回301和html页面,该页面重定向请求的URL
为什么symfony会返回301而不是正确的响应?
答案 0 :(得分:0)
正如@forgottenbas所提到的,您必须在网址末尾添加/
。但您也可以将-L
切换为curl
,以便按照以下重定向进行操作:
curl -v -H -L "Accept: application/json" -H "Content-type: application/json" -X GET http://localhost/app_dev.php/en/api/contest/new