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; }
}
}