【问题标题】:Default format for REST controller in FuelPHPFuelPHP 中 REST 控制器的默认格式
【发布时间】:2012-07-08 13:28:32
【问题描述】:

我已将 rest.php 从 core/config 复制到 app/config 并将 default_format 修改为 json,但如果我不将 '.json' 附加到 URL,我仍然会收到 XML 格式的响应。

如何在没有格式的 URL 上获得 JSON 响应?

【问题讨论】:

标签: php rest fuelphp


【解决方案1】:

为了确定返回结果的格式,REST 控制器使用以下算法并选择找到的第一个:

  1. 如果受保护的属性 $format 包含受支持的格式,请使用它
  2. 如果格式受支持,请使用 URL 扩展名
  3. 如果路由中的 :format 变量包含受支持的格式,则使用它指定的格式
  4. 使用 HTTP_ACCEPT 标头中定义的格式
  5. 使用类的 $rest_format 属性定义的默认值

如果您正在执行 AJAX 请求,您需要在请求中发送一些接受标头。对响应类型服务器端进行硬编码被认为是不好的做法。

【讨论】:

    【解决方案2】:

    在您的控制器中,

    受保护的 $format = 'json';

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 2017-02-17
      相关资源
      最近更新 更多