2020-12-29 17:39:06 +08:00
|
|
|
# YYApi 基于Asp.net Core 3/5的一个基础辅助包
|
2019-12-23 16:50:49 +08:00
|
|
|
|
2020-02-03 03:20:51 +08:00
|
|
|

|
|
|
|
|
|
2019-12-23 16:50:49 +08:00
|
|
|
### 包含了以下组件:
|
|
|
|
|
|
|
|
|
|
1. 统一的参数检测,基础认证服务
|
|
|
|
|
所有的控制器需要继承 YYApi.Controllers.BaseController
|
|
|
|
|
|
|
|
|
|
```C#
|
|
|
|
|
using Models;
|
2020-08-05 15:29:56 +08:00
|
|
|
using SimApi.Controllers;
|
2019-12-23 16:50:49 +08:00
|
|
|
|
|
|
|
|
namespace Controllers
|
|
|
|
|
{
|
2020-08-05 15:29:56 +08:00
|
|
|
public class BaseController : SimApiBaseController
|
2019-12-23 16:50:49 +08:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取登录用户信息
|
|
|
|
|
/// </summary>
|
2020-08-05 15:29:56 +08:00
|
|
|
protected SimApiLoginInfoItem LoginInfo => (SimApiLoginInfoItem) HttpContext.Items["LoginInfo"];
|
2019-12-23 16:50:49 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. 基于Swagger的API文档服务
|
|
|
|
|
|
|
|
|
|
```C#
|
|
|
|
|
#Startup.cs
|
|
|
|
|
|
2020-08-05 15:29:56 +08:00
|
|
|
services.AddSimApiDoc("文档名称", "文档描述");
|
2019-12-23 16:50:49 +08:00
|
|
|
|
2020-08-05 15:29:56 +08:00
|
|
|
app.UseSimApiDoc("名称",SubmitMethod[])
|
2019-12-23 16:50:49 +08:00
|
|
|
|
|
|
|
|
#控制器中可以直接使用特性
|
|
|
|
|
|
2020-08-05 15:29:56 +08:00
|
|
|
[SimApiDoc("分组","名称")]
|
2019-12-23 16:50:49 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. 简单的基于Redis的登录TOKEN服务
|
|
|
|
|
|
|
|
|
|
```C#
|
|
|
|
|
#Startup.cs
|
2020-08-05 15:29:56 +08:00
|
|
|
service.AddSimApiAuth();
|
2019-12-23 16:50:49 +08:00
|
|
|
```
|
2020-01-06 13:08:26 +08:00
|
|
|
添加时候, 可以从DI中获取 Auth 类,调用 Auth.Set(int,string) 将用户ID/类型和生成的Token绑定,本方法返回缓存中的Key名称
|
2019-12-23 16:50:49 +08:00
|
|
|
|
|
|
|
|
```C#
|
|
|
|
|
#Startup.cs
|
2020-08-05 15:29:56 +08:00
|
|
|
app.UseSimApiAuth();
|
2019-12-23 16:50:49 +08:00
|
|
|
```
|
2020-02-04 16:51:15 +08:00
|
|
|
调用本中间件,然后再需要登录认证的地方,使用 [YYAuth] 特性,即可完成检测登录相关的操作,
|
2019-12-23 16:50:49 +08:00
|
|
|
如果需要获取用户的ID, 只需要 直接使用 LoginId 属性即可获取
|
|
|
|
|
|
|
|
|
|
4. 统一返回
|
2020-08-05 15:29:56 +08:00
|
|
|
所有Response 均需要继承 SimApiBaseResponse类
|
2019-12-23 16:50:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
5. 异常处理
|
|
|
|
|
本异常中间件封装了API错误的异常处理,控制器可以使用 Error(int,string) 直接返回API错误
|
|
|
|
|
|
|
|
|
|
```C#
|
|
|
|
|
#Startup.cs
|
2020-08-05 15:29:56 +08:00
|
|
|
app.UseSimApiException();
|
|
|
|
|
```
|