Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aadc4128f0 | ||
|
|
a8ce74f35d | ||
|
|
44ed8dfd3c | ||
|
|
a7261fde58 | ||
|
|
453a15b9ad | ||
|
|
5a04f831a7 | ||
|
|
fdfde570c7 | ||
|
|
874f5b6cef | ||
|
|
86ec43f676 | ||
|
|
66334d6535 |
@@ -0,0 +1,34 @@
|
||||
name: CI
|
||||
|
||||
on: [create]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build Project
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Setup .NET Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '3.1.101'
|
||||
- name: Build
|
||||
run: dotnet build
|
||||
|
||||
publish:
|
||||
needs: build
|
||||
name: Publish Project to Nuget
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Setup .NET Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '3.1.101'
|
||||
- name: Publish
|
||||
run: |
|
||||
version=`git describe --tags`
|
||||
dotnet pack --configuration release -p:PackageVersion=$version
|
||||
dotnet nuget push bin/release/YY-Tech.YYApi.$version.nupkg -k ${APIKEY} -s https://www.nuget.org/api/v2/package
|
||||
env:
|
||||
APIKEY: ${{ secrets.APPKEY }}
|
||||
@@ -1,16 +0,0 @@
|
||||
name: PublishToNuget
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: publish to nuget
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- name: Publish NuGet
|
||||
uses: rohith/publish-nuget@v1.0.3
|
||||
with:
|
||||
nuget_key: ${{ secrets.NugetKey }}
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,7 @@ namespace YYApi.Controllers
|
||||
/// <param name="code">错误代码</param>
|
||||
/// <param name="message">错误描述(若是常规错误,代码可自动带取描述)</param>
|
||||
/// <returns></returns>
|
||||
protected static void Error(int code, string message = null)
|
||||
protected static void Error(int code, string message = "")
|
||||
{
|
||||
throw new ApiException(code, message);
|
||||
}
|
||||
@@ -57,7 +57,7 @@ namespace YYApi.Controllers
|
||||
/// <param name="condition">检测条件</param>
|
||||
/// <param name="code">错误代码</param>
|
||||
/// <param name="message">错误描述</param>
|
||||
protected static void ErrorWhen(bool condition, int code, string message = null)
|
||||
protected static void ErrorWhen(bool condition, int code, string message = "")
|
||||
{
|
||||
if (condition)
|
||||
{
|
||||
@@ -71,7 +71,7 @@ namespace YYApi.Controllers
|
||||
/// <param name="condition">检测条件</param>
|
||||
/// <param name="code">错误代码</param>
|
||||
/// <param name="message">错误描述</param>
|
||||
protected static void ErrorWhenNull(object condition, int code, string message = null)
|
||||
protected static void ErrorWhenNull(object condition, int code, string message = "")
|
||||
{
|
||||
ErrorWhen(condition == null, code, message);
|
||||
}
|
||||
|
||||
+37
-29
@@ -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>();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
# YYApi 基于Asp.net Core 3的一个基础辅助包
|
||||
|
||||

|
||||
|
||||
### 包含了以下组件:
|
||||
|
||||
1. 统一的参数检测,基础认证服务
|
||||
|
||||
+1
-1
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user