dfau / toujou-api
TYPO3 REST API 框架
v2.1.0
2022-11-28 15:41 UTC
Requires
- php: >=7.2 <7.5
- ext-json: *
- dfau/convergence: ^0.4.0
- dfau/toujou-oauth2-server: dev-master
- league/fractal: ~0.18
- league/tactician: ^2.0-rc1
- middlewares/error-handler: ^2.0.0
- middlewares/payload: ^2.1.1
- nikic/fast-route: ^1.3.0
- nikolaposa/cascader: ^1.2.0
- typo3/cms-core: ^9.5 | ^10.4 | ^11.3
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.3
- codeception/module-phpbrowser: ^1.0
- codeception/module-rest: ^1.3
- dfau/coding-standard: 1.0.1
- roave/security-advisories: dev-latest
- typo3/testing-framework: ^6.4.0
This package is auto-updated.
Last update: 2024-09-24 11:51:31 UTC
README
基于 {json:api} 的 TYPO3 CMS REST API
有用的德语 YouTube 视频链接:https://www.youtube.com/watch?v=WoOuNe_rzpM
安装
要求并安装插件
$ composer require dfau/toujou-api
$ vendor/bin/typo3cms extension:install toujou_api
配置
为了让 API 运作,您需要执行以下操作
- 检查 站点管理 中的 API 入口点
- 创建一个带有 OAuth2 client_id 和 client_secrect 的 BE 用户(OAuth2 标签页)
- 添加并配置 API 资源(请参阅 Resources.php)
- 添加并配置 API 路由(请参阅 Resources.php)
安全
API 将被加密以防止未经授权的请求。
您可以通过向 /_api/token
发送 POST 请求并带上以下参数来获取访问令牌
通过请求获取认证令牌(示例)
curl --location --request POST 'https://rms.dfau.dev/_api/token' \ --form 'grant_type="client_credentials"' \ --form 'client_id="12fc7d65-0177-48be-9c3c-e7d8b2a1"' \ --form 'client_secret="131"'
在有效的凭据下,JSON 响应将包含一个访问令牌
{ "token_type": "Bearer", "expires_in": 86400, "access_token": "eyJ0eXAiOiJ..." }
对于所有后续请求,您需要通过在请求头中添加以下行来使用此访问令牌
Authorization : Bearer <ACCESS_TOKEN>
示例请求
curl --location --request GET 'https://rms.dfau.dev/_api/pages/' \ --header 'Authorization: Bearer eyJ0eXAi....' \
开发
使用 composer 安装 PHP 依赖项
$ composer install
PHPUnit 单元测试
$ etc/scripts/runTests.sh
PHPUnit 功能测试
$ etc/scripts/runTests.sh -s functional
Codeception 接受测试
$ etc/scripts/runTests.sh -s acceptance
Easy-Coding-Standard
检查编码规范违规
$ etc/scripts/checkCodingStandards.sh
自动修复编码规范违规
$ etc/scripts/checkCodingStandards.sh --fix
文档
在当前终端中使 `dockrun_t3rd` 可用
source <(docker run --rm t3docs/render-documentation show-shell-commands)
运行 dockrun_t3rd
dockrun_t3rd makehtml
打开文档
open "Documentation-GENERATED-temp/Result/project/0.0.0/Index.html"