using NCC.Dependency; using NCC.DynamicApiController; using System; namespace Microsoft.AspNetCore.Mvc { /// /// 接口描述设置 /// [SuppressSniffer, AttributeUsage(AttributeTargets.Interface | AttributeTargets.Class | AttributeTargets.Method)] public sealed class ApiDescriptionSettingsAttribute : ApiExplorerSettingsAttribute { /// /// 构造函数 /// public ApiDescriptionSettingsAttribute() : base() { Order = 0; } /// /// 构造函数 /// /// 是否启用 public ApiDescriptionSettingsAttribute(bool enabled) : base() { IgnoreApi = !enabled; Order = 0; } /// /// 构造函数 /// /// 分组列表 public ApiDescriptionSettingsAttribute(params string[] groups) : base() { GroupName = string.Join(Penetrates.GroupSeparator, groups); Groups = groups; Order = 0; } /// /// 自定义名称 /// public string Name { get; set; } /// /// 保留原有名称(Boolean 类型) /// public object KeepName { get; set; } /// /// 切割骆驼命名(Boolean 类型) /// public object SplitCamelCase { get; set; } /// /// 保留路由谓词(Boolean 类型) /// public object KeepVerb { get; set; } /// /// 小写路由(Boolean 类型) /// public object LowercaseRoute { get; set; } /// /// 模块名 /// public string Module { get; set; } /// /// 版本号 /// public string Version { get; set; } /// /// 分组 /// public string[] Groups { get; set; } /// /// 标签 /// public string Tag { get; set; } /// /// 排序 /// public int Order { get; set; } /// /// 配置控制器区域(只对控制器有效) /// public string Area { get; set; } } }