Php 在symfony生产环境中使用HTTP DELETE
我有一个基于symfony2.3的restapi。 它在调试模式下工作得很好,但如果我切换到prod env,我总是会在删除Http请求时收到一个501响应错误,消息是“此方法可能未使用”(get工作正常) 我检查了配置,得到: config.yml: http_方法_覆盖=>true 以下是我的路线:Php 在symfony生产环境中使用HTTP DELETE,php,rest,symfony,routing,symfony-routing,Php,Rest,Symfony,Routing,Symfony Routing,我有一个基于symfony2.3的restapi。 它在调试模式下工作得很好,但如果我切换到prod env,我总是会在删除Http请求时收到一个501响应错误,消息是“此方法可能未使用”(get工作正常) 我检查了配置,得到: config.yml: http_方法_覆盖=>true 以下是我的路线: test_delete: path: /categories defaults: { _controller: OMGAPIBundle:GET\GetCategory:de
test_delete:
path: /categories
defaults: { _controller: OMGAPIBundle:GET\GetCategory:deleteTest }
requirements:
_method: DELETE
和我的控制器:
public function deleteTestAction(){
return new Response(1);
}
试试这个:
test_delete:
pattern: /categories
defaults: { _controller: OMGAPIBundle:YourControllerName:deleteTest }
methods: [DELETE]
显然,您的控制器必须这样编写:
class YourControllerNameController{
...
public function deleteTestAction(){
return new Response(1);
}
...
}
并确保您正在发送删除请求…这是一个错误的配置。现在可以了:)
=>您是否正在使用端口
80
?不确定它是否有助于您的配置文件,但您应该使用方法:[DELETE]
而不是要求:_方法:DELETE
来设置允许/要求的方法。@Qoop我试图替换要求:_方法:DELETE by方法:[DELETE]甚至尝试了两种方法:p没有任何变化:s@ra_htial看起来很愚蠢,我甚至不知道应该在哪里检查:p,但我们使用的是https,所以我不确定。你的控制器路由正确吗?如果更改请求以获取,它是否有效?