因此,我的项目中包含了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请求
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X GET http://localhost/app_dev.php/en/api/contest/new
当我在浏览器中输入这个url时,一切都很好。但如果这是curl请求,它将返回301和重定向到所请求url的html页面。
你知道为什么symfony返回301而不是正确的响应吗?
发布于 2014-07-12 18:28:50
正如@forgottenbas所提到的,您必须在url的末尾添加/
。但您也可以将-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
https://stackoverflow.com/questions/18232681
复制