4

所以,我的项目中有 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 而不是正确的响应?

4

1 回答 1

0

正如@forgottenbas 提到的,您必须/在网址末尾添加。但是您也可以添加-Lswitch 以curl使其遵循如下重定向:

curl -v -H -L "Accept: application/json" -H "Content-type: application/json" -X GET  http://localhost/app_dev.php/en/api/contest/new
于 2014-07-12T18:28:49.953 回答