【问题标题】:Make JSON the default format in Resetler?让 JSON 成为 Resetler 中的默认格式?
【发布时间】:2015-10-08 01:55:34
【问题描述】:

我在这里浏览 Restler 的教程示例:http://restler3.luracast.com/examples/_003_multiformat/readme.html

虽然它声明:

Restler::setSupportedFormats 中指定的第一个格式用作 客户端未指定格式时的默认格式。

我认为这不是真的。虽然我有:

use Luracast\Restler\Restler;
$r = new Restler();
$r->setSupportedFormats('JsonFormat', 'XmlFormat');
$r->addAPIClass('BMI', '/api/data/bmi');
$r->handle();

这与示例页面上给出的代码完全相同,但是当我访问 /api/data/bmi 时,它给出的是 XML 而不是 JSON。

我必须去 /api/data/bmi.json 获取 JSON 格式。 'JsonFormat' 这里不是 setSupportedFormats() 的第一个参数吗?为什么 JSON 不是默认格式?如何设置为默认值?

【问题讨论】:

    标签: php rest restler


    【解决方案1】:

    我猜你已经尝试使用网络浏览器调用 api。浏览器发送一个接受标头,其中接受 html 和 xml,这就是默认呈现 xml 的原因。尝试使用 curl 调用它而不使用接受标头

    【讨论】:

    • 我发现 JSON 即使在浏览器中也比 XML 更具可读性。有没有办法强制浏览器使用 JSON?
    • 只需将 .json 扩展名添加到 url
    【解决方案2】:

    我总是通过将这一行放在我的 index.php 中来获得 JSON 输出:

    use Luracast\Restler\Format\JsonFormat;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2014-08-25
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多