public OperationGenerator( IEnumerable<IOperationFilter> operationFilters, IDictionary<Type, DataType> customTypeMappings, IEnumerable<PolymorphicType> polymorphicTypes) { _operationFilters = operationFilters; _dataTypeGenerator = new DataTypeGenerator(customTypeMappings, polymorphicTypes); }
public void Apply(Operation operation, Dictionary<string, DataType> complexModels, DataTypeGenerator dataTypeGenerator, ApiDescription apiDescription) { if (apiDescription.ActionDescriptor.GetFilters().OfType<AuthorizeAttribute>().Any()) { operation.ResponseMessages.Add(new ResponseMessage { Code = (int)HttpStatusCode.Unauthorized, Message = "Authentication required" }); } }
public void Apply(Operation operation, Dictionary<string, DataType> complexModels, DataTypeGenerator dataTypeGenerator, ApiDescription apiDescription) { operation.ResponseMessages.Add(new ResponseMessage { Code = (int)HttpStatusCode.OK, Message = "It's all good!" }); operation.ResponseMessages.Add(new ResponseMessage { Code = (int)HttpStatusCode.InternalServerError, Message = "Somethings up!" }); }
public void Apply(Operation operation, Dictionary<string, DataType> complexModels, DataTypeGenerator dataTypeGenerator, ApiDescription apiDescription) { var methodNode = GetNodeFor(apiDescription.ActionDescriptor); operation.Summary = GetChildValueOrDefault(methodNode, SummaryExpression); operation.Notes = GetChildValueOrDefault(methodNode, RemarksExpression); foreach (var paramDesc in apiDescription.ParameterDescriptions) { var parameter = operation.Parameters.SingleOrDefault(p => p.Name == paramDesc.Name); if (parameter == null) continue; parameter.Description = GetChildValueOrDefault(methodNode, String.Format(ParameterExpression, paramDesc.Name)); } }