fix issue #I3ODI5 swagger增加分组的功能

fix issue #I3PE3R 会签节点异常,提示'-1' was not present in ...
fix CodeSmith生成的后端代码报错 https://gitee.com/yubaolee/OpenAuth.Core/issues/I3OXJZ
This commit is contained in:
yubaolee
2021-05-07 23:38:53 +08:00
parent 4148427f1a
commit 2834a62fc7
30 changed files with 140 additions and 53 deletions

View File

@@ -0,0 +1,33 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace OpenAuth.WebApi.Model
{
public class TagByApiExplorerSettingsOperationFilter : IOperationFilter
{
public void Apply(OpenApiOperation operation, OperationFilterContext context)
{
if (context.ApiDescription.ActionDescriptor is ControllerActionDescriptor controllerActionDescriptor)
{
var apiExplorerSettings = controllerActionDescriptor
.ControllerTypeInfo.GetCustomAttributes(typeof(ApiExplorerSettingsAttribute), true)
.Cast<ApiExplorerSettingsAttribute>().FirstOrDefault();
if (apiExplorerSettings != null && !string.IsNullOrWhiteSpace(apiExplorerSettings.GroupName))
{
operation.Tags = new List<OpenApiTag> {new OpenApiTag {Name = apiExplorerSettings.GroupName}};
}
else
{
operation.Tags = new List<OpenApiTag>
{new OpenApiTag {Name = controllerActionDescriptor.ControllerName}};
}
}
}
}
}