robinscholz / better-rest
Kirby 插件,用于优化 REST 请求
Requires
- php: >=7.3.0
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cms: ^3.2
- nunomaduro/phpinsights: ^1.8
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.3
This package is auto-updated.
Last update: 2024-09-19 23:19:39 UTC
README
一个 Kirby 插件,可以在 /rest
暴露内部 REST API,并可选择将 Kirby 标签转换为 HTML,并在过程中为图片添加 srcset
。旨在将 Kirby 转换为无头 CMS。
免责声明
虽然此插件仍然可用,但已有许多替代方案将 Kirby 转换为无头内容管理系统。如果您正在寻找更复杂和现代的解决方案,请查看 Kirby 查询语言 插件,Johann Schopplich 的最新作品,或 Kirby 内容表示。
用法
API 可在 /rest
访问。该插件仅允许 GET
请求。
身份验证
请求需要通过 Basic Auth 进行身份验证。建议创建一个单独的 API 用户,无论是使用自定义蓝图还是使用此插件提供的蓝图 better-rest API。在文档中了解更多关于 用户角色 的信息。
Basic Auth 需要在 site/config/config.php
中启用
return [
'api' => [
'basicAuth' => true
]
];
Kirby 3 API
示例
rest/pages/:id
: https://getkirby.com/docs/reference/api/pagesrest/site
: https://getkirby.com/docs/reference/api/siterest/users/:id
: https://getkirby.com/docs/reference/api/users
从查询设置 Better-Rest
所有标准设置以及在 site/config/config.php
中定义的设置都可以根据每个请求进行覆盖。只需在设置前加上 br-
前缀,并将其作为查询包含即可。
示例
rest/pages/test?br-srcset=375,1200
: br-srcsetrest/pages/test?br-smartypants=1
: br-smartypantsrest/pages/test?br-language=fr
: br-languagerest/pages/test?br-kirbytags=0&br-srcset=0
: br-kirbytag br-srcset
多语言
该插件支持多种语言设置。要获取特定语言的 内容,请将包含所需语言代码的 X-Language header 包含在您的请求中。或者可以使用 br-language
查询。
设置
配置文件
- 默认情况下,插件将 kirbytags 转换为 HTML 并为图片添加
srcset
。 - 此外,还可以启用 smartypants。
- 要覆盖默认语言,可以设置语言代码。
所有设置都需要以 robinscholz.better-rest.
前缀!
注意事项
HTTPS
Kirby 安装需要通过 TLS 证书 通过 https
提供服务。
本地设置
对于本地开发,请使用 Laravel Valet 或在 site/config/config.php
中禁用 https
。
return [ 'api' => [ 'basicAuth' => true, 'allowInsecure' => true ] ];
警告:请勿在生产环境中使用此设置!
安装
下载
下载并将此存储库复制到 /site/plugins/better-rest
。
Composer
composer require robinscholz/better-rest
Git 子模块
git submodule add https://github.com/robinscholz/better-rest.git site/plugins/better-rest
致谢
非常感谢@bnomei,他重构了初始源代码,使其可扩展且具有前瞻性。如果您使用此插件,请考虑为他买一杯☕!
许可证
MIT