Drupal 7模块中的$服务器[';请求&#方法';]

Drupal 7模块中的$服务器[';请求&#方法';],drupal,drupal-7,Drupal,Drupal 7,以前的定制Drupal6模块在POST和GET请求之间切换 if ($_SERVER['REQUEST_METHOD']) { case 'POST': ... break; case 'GET': ... break; } 我刚开始在Drupal7中采用这个模块。但是$\u服务器['REQUEST\u METHOD']总是GET。即使请求已发布,例如。 curl-i-X柱 我发现了一些问题,但没有解决方案: 在RESTS

以前的定制Drupal6模块在POST和GET请求之间切换

if ($_SERVER['REQUEST_METHOD']) {
    case 'POST':
       ...
       break;
    case 'GET':
       ...
       break;
}
我刚开始在Drupal7中采用这个模块。但是$\u服务器['REQUEST\u METHOD']总是GET。即使请求已发布,例如。 curl-i-X柱

我发现了一些问题,但没有解决方案:

在RESTServer->handle()之外公开$\u服务器['REQUEST\u METHOD']逻辑

必须能够通过服务和集成的REST服务器获得一些REST功能,但这会增加很多开销


有人有好的简单的解决方案吗?

您可以尝试使用$\u GET&$\u POST变量或其他查询数据来检测方法

if (!empty($_POST)) {
  // POST
}
else {
  // GET
}

除了空的POST查询外,这种方法不需要任何数据/文件。您可以将其用作临时解决方案。

即使$\u GET和$\u POST也是每次$\u GET,当请求是POST请求时:(它与$\u服务器['request\u METHOD']相同。Drupal 7将每个POST请求转换为GET