cashwarden / api
此包已被废弃,不再维护。未建议替代包。
CashWarden API
v0.4.0
2021-11-29 09:23 UTC
Requires
- php: >=7.4
- ext-bcmath: *
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- mis/yii2-ide-helper: ^1.0
- sizeg/yii2-jwt: ^2.0
- telegram-bot/api: ^2.3
- yiier/yii2-graylog-target: ^1.1
- yiier/yii2-helpers: ^2.0
- yiier/yii2-validators: ^0.3.0
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
- yiithings/yii2-dotenv: ^1.0
Requires (Dev)
- codeception/codeception: ^4.0
- codeception/module-asserts: ^1.0.0
- codeception/module-filesystem: ^1.0.0
- codeception/module-phpbrowser: ^1.0.0
- codeception/module-rest: ^1.0.0
- codeception/module-yii2: ^1.0.0
- codeception/specify: ~0.4.6
- codeception/verify: ~0.5.0 || ~1.1.0
- phpro/grumphp: ^0.19.1
- squizlabs/php_codesniffer: ^3.5.5
- symfony/browser-kit: >=2.7 <=4.2.4
- yiisoft/yii2-debug: ~2.1.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.1.0
This package is not auto-updated.
Last update: 2022-12-28 19:05:23 UTC
README
Yii 2 REST API 项目模板
Yii 2 REST API 项目模板是一个最佳用于快速创建小型 REST API 项目的框架。
模板包含基本功能,包括用户注册/登录 API。它包含所有常用的配置,让您可以专注于添加新功能到您的应用程序。
需求
此项目模板的最小要求是您的 Web 服务器支持 PHP 7.2.0。
安装
通过 Composer 安装
如果您没有 Composer,您可以通过在 getcomposer.org 上找到的说明进行安装。
然后您可以使用以下命令安装此项目模板:
composer create-project --prefer-dist cashwarden/api <rest-api>
cd <rest-api>
cp .env.example .env
chmod 777 -R runtime/
chmod 777 -R web/uploads/
php yii migrate
php yii generate/key # optional
现在您应该可以通过以下 URL 访问应用程序,假设 rest-api
是 Web 根目录下的目录。
https:///<rest-api>/web/
从 GitHub 安装
访问 使用此模板 从 yii2-rest-api 创建新仓库
git clone xxxx cd <rest-api> cp .env.example .env chmod 777 -R runtime/ chmod 777 -R web/uploads/ php yii migrate php yii generate/key # optional
然后您可以通过以下 URL 访问应用程序
https:///<rest-api>/web/
使用 Docker 安装
更新您的供应商包
docker-compose run --rm php composer update --prefer-dist
运行安装触发器(创建 cookie 验证代码)
docker-compose run --rm php composer install
启动容器
docker-compose up -d
然后您可以通过以下 URL 访问应用程序
http://127.0.0.1:8000
注意
- 最低要求的 Docker 引擎版本为
17.04
(开发用,请参阅 卷挂载的性能调优) - 默认配置使用主机卷在您的家目录
.docker-composer
中为 composer 缓存
检查包
使用
此时,您有一个 RESTful API 服务器正在 http://127.0.0.1:8000
运行。它提供了以下端点
GET /health-check
:用于健康检查的服务(在实现服务器集群时需要)POST /v1/join
:创建用户POST /v1/login
:验证用户并生成 JWTPOST /v1/refresh-token
:刷新 JWT
在浏览器中尝试 URL https://:8000/health-check
,您应该看到类似 {"code":0,"data":"OK","message":"成功"}
的显示。
如果您有 cURL
或其他 API 客户端工具(例如 Postman),您可以尝试以下更复杂的场景
# create a user via: POST /v1/join curl -X POST -H "Content-Type: application/json" -d '{"username":"demo","email":"demo@email.com","password":"pass123"}' https://:8000/v1/join # should return like: {"code":0,"data":{"username":"demo","email":"demo@email.com","status":1,"created_at":"2020-07-18T16:38:11+08:00","updated_at":"2020-07-18T16:38:11+08:00","id":17},"message":"成功"} # authenticate the user via: POST /v1/login curl -X POST -H "Content-Type: application/json" -d '{"username": "demo", "password": "pass123"}' https://:8000/v1/login # should return like: {"code":0,"data":{"user":{"id":4,"username":"dem211o1","avatar":"","email":"de21mo1@mail.com","status":1,"created_at":"2020-07-17T23:49:39+08:00","updated_at":"2020-07-17T23:49:39+08:00"},"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IllpaS1SRVNULUFQSSJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3QiLCJqdGkiOiJZaWktUkVTVC1BUEkiLCJpYXQiOjE1OTUwNjQ5NzIsImV4cCI6MTU5NTMyNDE3MiwidXNlcm5hbWUiOiJkZW0yMTFvMSIsImlkIjo0fQ.y2NSVQe-TQ08RnXnF-o55h905G9WHo6GYHNaUWlKjDE"},"message":"成功"} # refresh a JWT curl -X POST -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IllpaS1SRVNULUFQSSJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3QiLCJqdGkiOiJZaWktUkVTVC1BUEkiLCJpYXQiOjE1OTUwNjQ5NzIsImV4cCI6MTU5NTMyNDE3MiwidXNlcm5hbWUiOiJkZW0yMTFvMSIsImlkIjo0fQ.y2NSVQe-TQ08RnXnF-o55h905G9WHo6GYHNaUWlKjDE' https://:8000/v1/refresh-token # should return like: {"code":0,"data":{"user":{"id":4,"username":"dem211o1","avatar":"","email":"de21mo1@mail.com","status":1,"created_at":"2020-07-17T23:49:39+08:00","updated_at":"2020-07-17T23:49:39+08:00"},"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IllpaS1SRVNULUFQSSJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3QiLCJqdGkiOiJZaWktUkVTVC1BUEkiLCJpYXQiOjE1OTUwNjQ5NzIsImV4cCI6MTU5NTMyNDE3MiwidXNlcm5hbWUiOiJkZW0yMTFvMSIsImlkIjo0fQ.y2NSVQe-TQ08RnXnF-o55h905G9WHo6GYHNaUWlKjDE"},"message":"成功"}