[FuelPHP 1.7] REST 控制器输出格式

PHP

我是网站团队的草壁。

我将介绍如何使用 FuelPHP (1.7) 的 Rest 控制器指定输出格式。

有几种方法可以具体说明这一点,让我们按顺序来看一下!

 

默认情况下,检查“接受”的内容。

默认的 Rest 配置写在 fuel/core/config/rest.php 文件中,输出格式为:

'ignore_http_accept' => false, 'default_format' => 'xml',

这意味着

  • 不要忽略 Accept 请求头
  • 如果没有指定格式,则输出将采用 XML 格式。

就是这样。

现在,如果您尝试使用高级 REST 客户端发送请求而不更改 Accept 标头,

    接受: */*

它将被解读为“任何格式都可以”→“那么请使用默认的 XML 格式。”

这里,在高级 REST 客户端的标头部分,

    接受:*/json

如果你写下这段文字并发出请求,你会收到“JSON”,然后是“好的,请提供JSON”。

 

忽略“接受”内容

我们来尝试覆盖配置,忽略 Accept 请求头的内容。

创建 fuel/app/config/rest.php 文件

 return array( 'ignore_http_accept' => true, 'default_format' => 'xml', );

在这种情况下,即使您指定“Accept: */json”,也会被忽略,消息将变为“JSON”→“OK,请提供 XML”。

 

通过 URI 指定

如果在 URI 的操作名称末尾添加类似 .xml 的格式,则无论配置如何,都会以该格式返回。

    http://localhost/test/index.xml

 

按控制器属性进行规范

控制器的 format 属性优先级高于其他任何属性。

    protected $format = null;

默认情况下,值为 null,但如果您在此处指定格式,则会毫无疑问地以该格式返回。

 

优先事项

总之,首要任务是

通过 Accept 指定 < 通过 URI 指定 < 通过属性指定

具体如下。

 

或者更确切地说

文档里都有详细说明

如果您觉得这篇文章有用,请点击【点赞】!
0
加载中...
0票,平均分:0.00/10
1,603
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者