【问题标题】:Use HTTP DELETE in symfony production environnement在 symfony 生产环境中使用 HTTP DELETE
【发布时间】:2014-11-11 19:11:45
【问题描述】:

我有一个基于 symfony 2.3 的 rest api。 它在调试模式下运行良好,但如果我切换到 prod env,我总是会收到 501 响应错误,并显示此消息“此方法可能无法使用”。在 DELETE Http 请求上(获取工作正常)。

我检查了配置,得到:

config.yml:

http_method_override => 真

这是我的路线:

test_delete:
    path:   /categories
    defaults: { _controller: OMGAPIBundle:GET\GetCategory:deleteTest }
    requirements:
        _method:  DELETE

还有我的控制器:

public function deleteTestAction(){
    return new Response(1);
}

【问题讨论】:

  • 你在80端口上工作吗?
  • 不确定它是否会对您的个人资料有所帮助,但您应该使用 methods: [DELETE] 而不是 requirements:_method: DELETE 来设置允许/必需的方法。
  • @Qoop 我尝试通过方法替换要求:_method:DELETE:[DELETE],甚至尝试了两种方法:p 没有任何改变:s
  • @ra_htial 似乎很愚蠢,我什至不知道我应该在哪里检查:p 但我们使用的是 https,所以我不确定。
  • 您的控制器路由正确吗?如果将请求更改为 GET,它是否有效?

标签: php rest symfony routing symfony-routing


【解决方案1】:

试试这个:

test_delete:
    pattern: /categories
    defaults: { _controller: OMGAPIBundle:YourControllerName:deleteTest }
    methods: [DELETE]

显然,你的控制器必须这样写:

class YourControllerNameController{
    ...
    public function deleteTestAction(){
        return new Response(1);
    }
    ...
}

并确保您发送的是 DELETE 请求...

【讨论】:

    【解决方案2】:

    这是一个糟糕的磅配置。现在可以了:)

    => http://www.apsis.ch/pound/

    【讨论】:

      猜你喜欢
      • 2018-10-28
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 2013-06-02
      • 1970-01-01
      相关资源
      最近更新 更多