phapi / serializer-jsonp
Phapi JSONP 序列化器是一个基于中间件的序列化器,它将数组转换为 JSON 并添加提供的(验证过的)回调方法名称。
Requires
- php: >=5.6.0
- phapi/contract: 1.*
- phapi/exception: 1.*
- phapi/serializer: 1.*
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2021-02-05 22:52:32 UTC
README
JSONP 序列化器包只包含一个用于序列化的中间件。JSONP 序列化器与 JSON 反序列化器 配合工作得很好。
当 Accept
头与支持的 MIME 类型之一匹配时,序列化器会做出反应。
默认支持的 MIME 类型是: application/javascript
和 text/javascript
。可以通过向构造函数传递数组来添加更多 MIME 类型。
安装
此中间件默认不包括在 Phapi 框架 中,但如果需要安装,它可以通过 Packagist 和 Composer 安装。
$ php composer.phar require phapi/serializer-jsonp:1.*
配置
序列化器有两个配置选项
- 包含回调函数名称的请求头名称。 默认头名称设置为 X-Callback
- 序列化器应支持的额外 MIME 类型。
<?php use Phapi\Middleware\Serializer\Jsonp\Jsonp; $pipeline->pipe(new Jsonp($callbackHeader = 'X-Callback', ['text/html']));
注意,传递给构造函数的包含额外 MIME 类型的数组将与默认设置合并。
有关如何配置与 Phapi 框架集成的更多信息,请参阅 配置文档。
回调头
请注意,如果定义的回调头找不到或不是有效的函数名称,序列化器将序列化响应为 JSON,而不包括提供的回调函数名称。
HTTP 状态码
如果发生错误,HTTP 状态码将包含在正文内,并将 HTTP 状态更改为 200,因为许多/所有客户端都会遇到处理 HTTP 状态不是 200 的响应的问题。
有关 JSONP 和 HTTP 状态码问题的更多信息,请参阅 此处。
Phapi
此中间件是 Phapi 框架使用的 Phapi 包。中间件也符合 PSR-7 并实现了 Phapi 中间件合约。
许可证
JSONP序列化器遵循MIT许可证 - 请参阅license.md文件以获取详细信息
贡献
贡献、错误修复等始终受到欢迎。欢迎提交问题。