【问题标题】:Remote API exploring not working (Restler Framework)远程 API 探索不起作用(Restler 框架)
【发布时间】:2014-02-08 19:00:50
【问题描述】:

我有一个基于 Restler 的 API (api.example.com),我有一个面向开发人员的网站 (developer.example.com)。我的目标是能够从后一个站点探索 API。

但是当我将它添加到 API Explorer 选项中时:discoveryUrl:"http://api.example.com/resources.json" 它不起作用(显示“0 : error http://api.example.com/resources.json”),即使这些事实:

你能告诉我这个问题的原因是什么吗?

【问题讨论】:

    标签: php restler


    【解决方案1】:

    这是因为浏览器限制 javascript 在没有适当权限的情况下不加载远程资源

    从维基百科阅读更多关于Cross-origin resource sharing的信息

    要启用跨域访问,请在您的 api 服务器上启用 crossOriginResourceSharing,如下例所示

    use Luracast\Restler\Restler;
    use Luracast\Restler\Defaults;
    
    require_once "../../../vendor/restler.php";
    
    Defaults::$crossOriginResourceSharing = true;
    
    $r = new Restler();
    $r->addAPIClass('MinMax');
    $r->addAPIClass('MinMaxFix');
    $r->addAPIClass('Type');
    $r->addAPIClass('Resources');
    $r->handle();
    

    以上示例位于http://restler3.luracast.com/tests/param/resources.json,您可能想从远程资源管理器中尝试一下

    【讨论】:

    • 感谢您的全面回答!现在完美了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多