[FuelPHP 1.7] REST 控制器输出格式
我是网站团队的草壁。
我将介绍如何使用 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