Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/china-wangyu/trr
🐘 A Simple and Practical Annotation Routing RESTful API Implemented by ThinkHP 5.1
https://github.com/china-wangyu/trr
php71 reflex-route restful-api thinkphp51
Last synced: 3 months ago
JSON representation
🐘 A Simple and Practical Annotation Routing RESTful API Implemented by ThinkHP 5.1
- Host: GitHub
- URL: https://github.com/china-wangyu/trr
- Owner: china-wangyu
- License: mit
- Created: 2019-07-03T14:55:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-08-16T08:06:18.000Z (over 5 years ago)
- Last Synced: 2024-10-12T12:22:08.618Z (3 months ago)
- Topics: php71, reflex-route, restful-api, thinkphp51
- Language: PHP
- Homepage: https://github.com/china-wangyu/TRR
- Size: 934 KB
- Stars: 26
- Watchers: 2
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
TRR# 简介
## TRR 是什么?
`TRR`是`ThinkPHP51 Reflection Restful API`(注:API设计风格) 的字母第一个字符大写后拼接而来,
从`ThinkPHP51 Reflection Restful API`全称可以看出来,
这套接口框架设计主要围绕`反射`来做`Restful API接口设计`的。## TRR 可以做什么?
1. 你可以先了解一下`ThinkPHP5.1`能做什么。
2. `ThinkPHP5.1` 能做的都能做,而且在反射路由方面,我们比`ThinkPHP5.1`更为专注专注做什么:
* 反射 API 接口路由
* 反射 API 接口文档生成
* 反射 API 参数快速验证
* 让接口开发更简单、直观、迅捷
* 让接口维护更轻松、明了、快速我们专注研究PHP反射相关的知识点,想让`PHP` `web`功能开发、接口开发更加简单、迅捷。
想让更多的朋友更加专注于业务开发,不再反复去做路由添加、修改,接口文档编写等一些列的问题
我们只想你的项目更快、更稳定、更以维护的成型。## 使用文档
> 标注: `master` 分支属于 `TRR-v0.0.2`
TRR-v0.0.1文档:[👉 点我了解](https://china-wangyu.github.io/views/php/trr/v0.0.1/)
TRR-v0.0.2文档:[👉 点我了解](https://china-wangyu.github.io/views/php/trr/v0.0.2/)
未完待续·····
## 快速开始
在你项目文件夹内,点击鼠标右键 打开 `git Bash Here`
在 `git bash` 命令行里使用以下命令
### 1. 检查服务端必备环境
* 安装`PHP`环境(version: `7.1` 及以上)
* 安装`Git`环境(version: `1.8` 及以上)
* 安装`Composer`环境(version: `1.8` 及以上)### 2. 获取项目源码
获取项目源码
```bash
git clone https://github.com/china-wangyu/TRR.git
```在进入项目目录
```bash
cd TRR
```### 3. 安装项目依赖
安装依赖
```bash
composer install
```### 4. 运行项目
为了防止PHP各种集成和非集成软件环境问题,本项目开发期间希望各位使用 `ThinkPHP5.1`内置服务
有关文档: [https://www.kancloud.cn/manual/thinkphp5_1/518750](https://www.kancloud.cn/manual/thinkphp5_1/518750)```bash
php think run -H 127.0.0.1 -p 8000
```效果如下,就代表你启动内置服务成功了
```bash
wy@Mac TRR (master) $ php think run -H 127.0.0.1 -p 8000
ThinkPHP Development server is started On
You can exit with `CTRL-C`
Document root is: /Users/wy/Desktop/TRR/public
[Mon Jul 29 16:39:08 2019] Failed to listen on 127.0.0.1:8000 (reason: Address already in use)
```### 5. 浏览器访问
然后你可以直接在浏览器里面访问
```
http://127.0.0.1:8000/
```## 其他功能
### 创建 `JWT` 的 `Token`
route: `http://127.0.0.1:8000/auth?name=trr&password=trr`
method: `post`
返回效果:
```json
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MDk2MDgsImV4cCI6MTU2MjQxNjgwOCwidXVpZCI6MTAwLCJzaWduYXR1cmUiOiJ0cnIifQ.MXXGcK2xjAznzcC-PQ66dRAo30Wn1poNLCNbFcO7ORA",
"refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MDk2MDgsInV1aWQiOjEwMCwic2lnbmF0dXJlIjoidHJyIn0.RBs5iOSTjC89Z6H4CPl9tNyXHOhtmuPQPd7JOB_n5JY"
}
```### 刷新 `JWT` 的 `Token`
route: `http://127.0.0.1:8000/auth/refresh`
method: `get`
header: 需要设置:`authorization`
返回效果:
```json
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MTE0OTMsImV4cCI6MTU2MjQxODY5MywidXVpZCI6MTAwLCJzaWduYXR1cmUiOiJ0cnIifQ.4siwrzghm-r_SZNz-SUwkI3Of-9Hx9vOHMYdHXjf7rA"
}
```### 生成 `markdown` 格式的 `API` 文档
- 命令行生成
在项目根目录下打开 `cmd` 或 `终端` 输入以下命令
```bash
php think trr:doc
```
效果如下,代表文档生成成功:
```bash
F:\project\open-source-object\Trr\2019-7-6\TRR [master ≡ +0 ~217 -0 !]
λ php think trr:doc
Successful. Output Document Successful . File Path :api-doc.html
```
注意 !
注意 !
注意 !## 演示地址
* 官方运行示例: [演示站点](http://trr.ibs3.cn)
* 官方`API Markdown文档`示例: [演示站点](http://trr.ibs3.cn/apiShow)
* 官方`API Html文档`示例: [演示站点](http://trr.ibs3.cn/apiView)
* 本地运行示例: http://127.0.0.1:8000/
* 本地`API Markdown文档`示例: http://127.0.0.1:8000/apiShow
* 本地`API Html文档`示例: http://127.0.0.1:8000/apiView## 维护与提问
### 更新
由于目前TRR目前还处在不断迭代更新阶段,TP5.1版本也在持续跟进,所以本文档的内容也会随着适配的进度而增加或者调整。
项目更新记录,可以在`CHANGELOG.md`查看
### 完善
局限于个人技术水平和写作能力,如果教程中有哪些地方读者觉得不对或者看不懂需要再讲仔细些可以随时提出。
### 催更、提问与交流
读者对本教程或者GitHub项目有任何疑问、建议都可以在作者GitHub仓库提个[issues](https://github.com/china-wangyu/TRR/issues)
或
加【TRR 官方群】QQ群: `860613750`
### 请我喝茶
如果你觉得本项目帮助到你,想请作者**喝杯茶** , 请扫码打赏任意金额
## 版权信息TRR 遵循 MIT 开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2006-2019 by TRR
All rights reserved。