405不允许使用Restler的方法

时间:2014-04-11 08:44:14

标签: php api post restler

我遇到了Restler的问题:我正在创建自己的API以从不同的网站访问我的数据。当我尝试向我的API发送POST请求时,它说:

{
    error: {
        code: 405
        message: "Method Not Allowed"
    }
    debug: {
        source: "Routes.php:422 at route stage"
        stages: {
            success: [1]
                0:  "get"

            failure: [3]
                0:  "route"
                1:  "negotiate"
                2:  "message"
        }
    }
}

我的index.php代码是:

<?php
require_once 'vendor/restler.php';
use Luracast\Restler\Restler;
$r = new Restler();
$r->addAPIClass('v1'); // repeat for more
$r->handle(); //serve the response

我已经尝试过:

header('Access-Control-Allow-Methods: *');

但没有。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

为了让Restler接受POST请求,必须在 v1 class 中实现post功能。

典型的例子可以是:

function post($request_data = NULL){
   $result = new stdClass();
   $result->sometitle = 'OK';
   return $result;
}

其中$request_data是带有传递的POST参数的数组。

只有POST方法才能访问此函数,它将返回:

{
  "sometitle ": "OK"
}