using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.ApiExplorer; using System; using static DouyinApi.Extensions.CustomApiVersion; namespace DouyinApi.SwaggerHelper { /// /// 自定义路由 /api/{version}/[controler]/[action] /// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] public class CustomRouteAttribute : RouteAttribute, IApiDescriptionGroupNameProvider { /// /// 分组名称,是来实现接口 IApiDescriptionGroupNameProvider /// public string GroupName { get; set; } /// /// 自定义路由构造函数,继承基类路由 /// /// public CustomRouteAttribute(string actionName = "[action]") : base("/api/{version}/[controller]/" + actionName) { } /// /// 自定义版本+路由构造函数,继承基类路由 /// /// /// public CustomRouteAttribute(ApiVersions version, string actionName = "") : base($"/api/{version.ToString()}/[controller]/{actionName}") { GroupName = version.ToString(); } } }