[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

【FuelPHP 1.7】谈谈Rest控制器的输出格式

PHP

我是网络团队的 Kusakabe。

我将写一个关于使用 FuelPHP (1.7) 的 Rest 控制器指定输出格式的故事。

指定它们的方法有多种,因此请按顺序执行!

 

默认查看Accept的内容

Rest的默认设置在fuel/core/config/rest.php中描述,输出格式为

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

就变成了。这意味着什么

  • 不要忽略请求头中Accept的内容
  • 如果未指定格式,则以 XML 格式输出

这就是它的意思。

现在,在这种状态下,如果您使用高级 REST 客户端并在不修改 Accept 标头的情况下发送请求,您将得到

    接受: */*

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

在这里,在高级 REST 客户端的 headers 字段中,

    接受:*/json

如果您编写并请求它,它会显示“JSON”→“请使用 JSON”。

 

尝试忽略 Accept 的内容。

让我们尝试覆盖配置以忽略 Accept 请求标头内容。

创建fuel/app/config/rest.php 并

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

它写成在这种状态下,即使您说“Accept:*/json”,它也会被忽略,并且消息将从“JSON”更改为“XML please”。

 

通过 URI 指定

如果将 .xml 之类的格式添加到 URI 中操作名称的末尾,则无论配置如何,都将返回该格式。

    http://localhost/test/index.xml

 

由控制器属性指定

控制器的格式属性优先于其他所有属性。

    受保护的$format = null;

默认情况下,它设置为 null,但如果您在此处指定格式,它将以该格式返回,而不询问任何问题。

 

优先事项

综上所述,优先级是

Accept 规范 < URI 规范 < 属性规范

就变成了。

 

或者更确切地说

都写在文档看来后面的事情进展顺利。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
1,361
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者