Files
simapi-net/README.md
T

65 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

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
![CI](https://github.com/YY-Tech/YYApi/workflows/CI/badge.svg)
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();
```