robinscholz/better-rest

Kirby 插件,用于优化 REST 请求

安装: 502

依赖: 0

建议者: 1

安全性: 0

星星: 51

关注者: 1

分支: 3

开放问题: 8

类型:kirby-plugin

1.3 2021-05-24 12:48 UTC

README

Release Stars Downloads Issues Build Status Coverage Status Twitter Twitter

一个 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

示例

官方 Kirby 3 API 文档

从查询设置 Better-Rest

所有标准设置以及在 site/config/config.php 中定义的设置都可以根据每个请求进行覆盖。只需在设置前加上 br- 前缀,并将其作为查询包含即可。

示例

  • rest/pages/test?br-srcset=375,1200 : br-srcset
  • rest/pages/test?br-smartypants=1 : br-smartypants
  • rest/pages/test?br-language=fr : br-language
  • rest/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