0

getMethod 函数实现不接受除POST,之外的所有 HTTP 动词GET。我的用例是这样的

  • 表单对更新资源开放,所以方法应该是PUT.
  • 我构建了一个访问控制库来检查用户是否可以访问{资源,方法}
  • getMethod()用来获取方法名称,但POST即使发送的参数是PUT.
  • 因为这总是返回POSTACL总是返回NO_ACCESS

有什么理由这样getMethod()写吗?

4

1 回答 1

0

首先,我会检查以确保您的 Web 服务器允许 PUT 请求。我在默认情况下只允许 GET 和 POST 的 Web 服务器出现问题。

我假设你正在做类似的事情if( Request::getMethod() == 'POST' )

由于 laravel 的 Request 类扩展了 Symfony 的,你可以尝试使用Request::isMethod('post'). 这是我的偏好,它读起来更好 IMO。

于 2014-06-16T19:28:22.133 回答