【问题标题】:405 Method not allowed using Restler405 方法不允许使用 Restler
【发布时间】:2014-04-11 08:44:14
【问题描述】:

我在使用 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: *');

但什么都没有。有人可以帮忙吗?

【问题讨论】:

    标签: php api post restler


    【解决方案1】:

    为了让 Restler 接受 POST 请求,您的 v1 类必须实现 post 功能。

    一个典型的例子可以是:

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

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

    这个函数只能通过 POST 方法访问,它会返回:

    {
      "sometitle ": "OK"
    }
    

    【讨论】:

    • 谢谢 :D 现在我可以通过 POST 传递数据了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2012-06-29
    • 2013-03-13
    • 2016-03-08
    • 2014-09-19
    • 2016-04-20
    相关资源
    最近更新 更多