Compare commits

..
7 Commits
Author SHA1 Message Date
xrain aadc4128f0 fix use and add name 2020-02-04 16:05:09 +08:00
xrain a8ce74f35d add ci status 2020-02-03 03:20:51 +08:00
xrain 44ed8dfd3c fix ci 2020-02-03 03:19:52 +08:00
xrain a7261fde58 fix ci 2020-02-03 03:14:39 +08:00
xrain 453a15b9ad Merge branch 'master' of https://github.com/YY-Tech/YYApi 2020-02-03 03:13:58 +08:00
xrainandGitHub 5a04f831a7 Update main.yml 2020-02-03 03:11:01 +08:00
xrain 86ec43f676 add idonly request 2020-02-03 02:54:02 +08:00
5 changed files with 64 additions and 34 deletions
+4 -4
View File
@@ -11,9 +11,9 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.0'
dotnet-version: '3.1.101'
- name: Build
run: dotnet build MonkeyDotNet/Monkey
run: dotnet build
publish:
needs: build
@@ -24,11 +24,11 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.0'
dotnet-version: '3.1.101'
- name: Publish
run: |
version=`git describe --tags`
dotnet pack --configuration release -p:PackageVersion=$version
dotnet nuget push bin/release/Monkey.$version.nupkg -k ${APIKEY} -s https://www.nuget.org/api/v2/package
dotnet nuget push bin/release/YY-Tech.YYApi.$version.nupkg -k ${APIKEY} -s https://www.nuget.org/api/v2/package
env:
APIKEY: ${{ secrets.APPKEY }}
+20
View File
@@ -129,4 +129,24 @@ namespace YYApi.Communications
/// </summary>
public T Data { get; set; }
}
//===========》请求《===============
/// <summary>
/// 只有ID的请求
/// </summary>
public class IdOnlyRequest
{
public int Id { get; set; }
}
/// <summary>
/// 基础分页请求
/// </summary>
public class BasePageRequest
{
public int Page { get; set; }
public int Count { get; set; }
}
}
+37 -29
View File
@@ -12,18 +12,10 @@ namespace YYApi
/// </summary>
public static class Extensions
{
/// <summary>
/// 添加自定义授权认证中间价
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IServiceCollection AddAuth(this IServiceCollection builder)
{
return builder.AddScoped<Auth>();
}
//**********快捷添加**************
/// <summary>
/// 添加整个YYAPI
/// 添加整个YYAPI,同时增加CORS规则
/// </summary>
/// <param name="builder"></param>
/// <param name="title"></param>
@@ -32,7 +24,34 @@ namespace YYApi
public static IServiceCollection AddYYApi(this IServiceCollection builder, string title,
string description = null)
{
return builder.AddAuth().AddApiDoc(title, description);
return builder.AddYYAuth().AddYYDoc(title, description).AddCors(x => x.AddDefaultPolicy(po => po.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin()));
}
/// <summary>
/// 使用所有YYApi自定义中间件
/// </summary>
/// <param name="builder"></param>
/// <param name="title"></param>
/// <param name="submitMethods"></param>
/// <returns></returns>
public static IApplicationBuilder UseYYApi(this IApplicationBuilder builder, string title = "API文档",
params SubmitMethod[] submitMethods)
{
return builder.UseYYException().UseYYDoc(title, submitMethods).UseMiddleware<AuthMiddleware>();
}
//*********组件快捷方式*************
/// <summary>
/// 添加自定义授权认证中间价
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IServiceCollection AddYYAuth(this IServiceCollection builder)
{
return builder.AddScoped<Auth>();
}
/// <summary>
@@ -42,7 +61,7 @@ namespace YYApi
/// <param name="title">文档标题</param>
/// <param name="description">文档描述</param>
/// <returns></returns>
public static IServiceCollection AddApiDoc(this IServiceCollection builder, string title,
public static IServiceCollection AddYYDoc(this IServiceCollection builder, string title,
string description = null)
{
return builder.AddSwaggerGen(x =>
@@ -70,7 +89,7 @@ namespace YYApi
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseExceptionMiddleware(this IApplicationBuilder builder)
public static IApplicationBuilder UseYYException(this IApplicationBuilder builder)
{
return builder.UseMiddleware<ExceptionMiddleware>();
}
@@ -82,7 +101,7 @@ namespace YYApi
/// <param name="title">文档标题</param>
/// <param name="submitMethods">文档支持的提交方式(如果不指定,默认使用POST)</param>
/// <returns></returns>
public static IApplicationBuilder UseApiDoc(this IApplicationBuilder builder, string title,
public static IApplicationBuilder UseYYDoc(this IApplicationBuilder builder, string title,
params SubmitMethod[] submitMethods)
{
return builder.UseSwagger(x => x.RouteTemplate = "docs/{documentName}.json").UseSwaggerUI(x =>
@@ -112,10 +131,10 @@ namespace YYApi
/// <param name="title">文档标题</param>
/// <param name="submitMethods">API提交方式定义</param>
/// <returns></returns>
public static IApplicationBuilder UseDocAndException(this IApplicationBuilder builder, string title = "API文档",
public static IApplicationBuilder UseYYDocEx(this IApplicationBuilder builder, string title = "API文档",
params SubmitMethod[] submitMethods)
{
return builder.UseExceptionMiddleware().UseApiDoc(title, submitMethods);
return builder.UseYYException().UseYYDoc(title, submitMethods);
}
/// <summary>
@@ -123,22 +142,11 @@ namespace YYApi
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseAuthMiddleware(this IApplicationBuilder builder)
public static IApplicationBuilder UseYYAuth(this IApplicationBuilder builder)
{
return builder.UseMiddleware<AuthMiddleware>();
}
/// <summary>
/// 使用所有YYApi自定义中间件
/// </summary>
/// <param name="builder"></param>
/// <param name="title"></param>
/// <param name="submitMethods"></param>
/// <returns></returns>
public static IApplicationBuilder UseYYApiMiddleware(this IApplicationBuilder builder, string title = "API文档",
params SubmitMethod[] submitMethods)
{
return builder.UseExceptionMiddleware().UseApiDoc(title, submitMethods).UseMiddleware<AuthMiddleware>();
}
}
}
+2
View File
@@ -1,5 +1,7 @@
# YYApi 基于Asp.net Core 3的一个基础辅助包
![CI](https://github.com/YY-Tech/YYApi/workflows/CI/badge.svg)
### 包含了以下组件:
1. 统一的参数检测,基础认证服务
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
<OutputType>Library</OutputType>
<PackOnBuild>true</PackOnBuild>
<Version>0.2.1</Version>
<Version>0.2.3</Version>
<Authors>xRain@YYTech</Authors>
<Description>AspNetCore一个方便的API文档,捕获异常,统一输入输出的API类库</Description>
<PackageId>YY-Tech.YYApi</PackageId>