Skip to content

Instantly share code, notes, and snippets.

@caevyn
Created August 6, 2015 04:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save caevyn/767413b39cc5760e7731 to your computer and use it in GitHub Desktop.
Save caevyn/767413b39cc5760e7731 to your computer and use it in GitHub Desktop.
web api description filter
public class ApiOperationDescriptionAttribute : Attribute
{
public string Description { get; set; }
public ApiOperationDescriptionAttribute(string description)
{
Description = description;
}
}
public class LookupOperationFilter : IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry schemaRegistry, System.Web.Http.Description.ApiDescription apiDescription)
{
var attribs = apiDescription.ActionDescriptor.GetCustomAttributes<ApiOperationDescriptionAttribute>();
var desc = attribs.FirstOrDefault();
if (desc != null)
{
operation.description = desc.Description;
}
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
config.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "My API");
c.DescribeAllEnumsAsStrings();
c.OperationFilter<LookupOperationFilter>();
});
WebApiConfig.Register(config);
...
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment