首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CakePHP:区分常规http调用和REST调用

CakePHP:区分常规http调用和REST调用
EN

Stack Overflow用户
提问于 2013-12-26 12:15:32
回答 1查看 70关注 0票数 0

我想要相同的控制器例程提供常规的基于web的页面加载以及REST调用。我在我的routes.php中设置了REST处理:

代码语言:javascript
运行
复制
// Setup REST Handling
Router::mapResources( '<ControllerName>' );
Router::parseExtensions();

让我们以add()方法为例--如何在这个方法中区分调用是如何进行的?

详细说明这一问题:

代码语言:javascript
运行
复制
public function add() {
    $status = array();
    if( $this->request->is( 'post' ) ) {
            // Read POST body
            $entityBody = file_get_contents( 'php://input' );
    }
}

正如您在上面的代码中所看到的,我正在检测POST请求,并将相应地处理该请求。我需要弄清楚的是,post数据是否来自web表单中的REST调用。如果数据来自web表单,它将位于请求->数据数组中,而对于REST调用,则为XML格式。

我将相应地处理这些数据,并给出一个适当的响应。

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2013-12-26 14:01:55

使用CakeRequest对象,请参阅文献资料,与post相同。

代码语言:javascript
运行
复制
$this->request->is('put');
  • 检查当前请求是否为GET。
  • 检查当前请求是否为PUT。
  • 检查当前请求是否为POST。
  • 检查当前请求是否为DELETE。
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20784670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档