public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription) { if (apiDescription.GetControllerAndActionAttributes<SwaggerResponseRemoveDefaultsAttribute>().Any()) operation.responses.Clear(); var responseAttributes = apiDescription.GetControllerAndActionAttributes<SwaggerResponseAttribute>() .OrderBy(attr => attr.StatusCode); foreach (var attr in responseAttributes) { var statusCode = attr.StatusCode.ToString(); operation.responses[statusCode] = new Response { description = attr.Description ?? InferDescriptionFrom(statusCode), schema = (attr.Type != null) ? schemaRegistry.GetOrRegister(attr.Type) : null }; } }
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription) { var attributes = apiDescription.GetControllerAndActionAttributes<SwaggerOperationFilterAttribute>(); foreach (var attribute in attributes) { var filter = (IOperationFilter)Activator.CreateInstance(attribute.FilterType); filter.Apply(operation, schemaRegistry, apiDescription); } }