- 在定义自定义属性时,需要添加
[AttributeUsage(AttributeTargets.Method)]
属性来指定该自定义属性只能应用于方法上。
[AttributeUsage(AttributeTargets.Method)]
public class MyAttribute : Attribute
{
public string Name { get; set; }
}
- 在使用自定义属性的控制器方法上,需要使用
AbpDontWrapResultAttribute
标记来禁止 Abp 自动包装响应。
[My(Name = "example")]
[AbpDontWrapResult]
public async Task MyAction(MyInputDto input)
{
//
}
- 自定义
AbpApiDescriptionModelProvider
类并重写 OnControllerMethodDiscovery
方法,在方法上查找自定义属性。
public class MyApiDescriptionModelProvider : AbpApiDescriptionModelProvider
{
protected override IReadOnlyList
- 在
Startup
类中注册自定义的 AbpApiDescriptionModelProvider
类。
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient();
}