nikxphreaker / yii2-hiring-backend
Yii 2 RESTful API
v1.3
2021-01-27 05:52 UTC
Requires
- yiisoft/yii2: ~2.0.14
README
Yii 2 RESTful API
++++++++++++++++++++++++++++++++++ Yii2 RESTful API ++++++++++++++++++++++++++++++++++ 该API使用了Yii-api-template的模板。这是一个基于Yii2的REST API模板。该模板采用Yii2-Micro方法,因此它将轻量级且易于部署。
安装
安装composer。
使用git安装
git clone https://github.com/nikophreaker/yii2-hiring-backend.git [app-name]
到目录[app-name]
composer install
设置数据库
从config/db.php
设置数据库配置。
<?php return [ 'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=your_db_name', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], ], ];
运行API
yii serve
目录结构
由于该模板使用MicroFramework方法,目录结构可能略异于Yii2。
config/ contains application configurations
controllers/ contains Web controller classes
models/ contains model classes
modules/ contains your rest-api versioning (based on modules)
vendor/ contains dependent 3rd-party packages
web/ contains the entry script and Web resources
使用Postman进行测试
下载Postman。
认证场景
此模板已包含基本端点,您可以使用它开始您的REST-API。例如
此模板使用模块作为版本化模式。每个API版本都保存在一个模块中。此模板已包含v1模块,这意味着如果消费者想使用v1 API,则可以访问https://:8080/v1/endpoint
。
API场景
创建用户
登录用户
不要忘记保存您的令牌
设置令牌
将授权类型更改为Bearer Token,并将令牌放入令牌字段
创建会话
输入键和值,如图像所示
编辑会话
在现有数据会话的参数上设置id,并通过`x-www-form-urlencoded`编辑它
删除会话
在现有数据会话的参数上设置id
查看会话详情
如果您使用v1端点,则需要令牌
列出会话
如果您使用v1端点,则需要令牌支持的认证
此模板支持最常用的3种认证。(实际上不是我做这件事,Yii2已经支持所有这些:D)。
- HTTP基本认证:访问令牌作为用户名发送。这应该在访问令牌可以安全存储在API消费者端时使用。例如,API消费者是在服务器上运行的程序。
- 查询参数:访问令牌作为API URL中的查询参数发送,例如,https://example.com/users?access-token=xxxxxxxx。由于大多数Web服务器会将查询参数保留在服务器日志中,因此此方法应主要用于处理无法使用HTTP头发送访问令牌的JSONP请求。
- OAuth 2:消费者从授权服务器获取访问令牌,并通过HTTP Bearer Tokens发送到API服务器,根据OAuth2协议。
访问令牌管理
本应用通过Cookie管理令牌,而不存储到表格或数据库中的数据。访问令牌的过期时间基于$tokenExpiration值。默认令牌过期时间以秒为单位。
public $tokenExpiration = 60 * 24 * 365; // in seconds
这些Cookie将存储在您的计算机上
如果您想删除所有这些,可以使用如下退出端点
API版本控制
此模板根据模块应用提供版本控制场景。在Yii2中,模块是自包含的软件单元,由模型、视图、控制器和其他支持组件组成。此模板已包含v1模块,这意味着所有API v1端点都在此模块中创建。当您发布一个新版本的API(破坏向后兼容性/BBC)时,您可以创建一个新的模块。有关创建模块的更多信息,请访问此Yii2创建模块指南。