private SwaggerItemSchema GetSwaggerItemSchema(Type type, Dictionary <string, SwaggerDefinition> definitions, SwaggerConfig config) { if (type.IsArray && type.HasElementType) { SwaggerArrayItemSchema arrayItem = new SwaggerArrayItemSchema(); arrayItem.Items.Add(new SwaggerSingleItemSchema { Ref = "#/definitions/" + type.GetElementType().Name }); CreateSwaggerDefinition(type.GetElementType().Name, type.GetElementType(), definitions, config); return(arrayItem); } if ( typeof(System.Collections.ICollection).IsAssignableFrom(type) || typeof(System.Collections.IEnumerable).IsAssignableFrom(type) ) { SwaggerArrayItemSchema arrayItem = new SwaggerArrayItemSchema(); if (type.IsGenericType) { arrayItem.Items.Add(new SwaggerSingleItemSchema { Ref = "#/definitions/" + type.GenericTypeArguments[0].Name }); CreateSwaggerDefinition(type.GenericTypeArguments[0].Name, type.GenericTypeArguments[0], definitions, config); } else { arrayItem.Items.Add(new SwaggerSingleItemSchema { Ref = "#/definitions/Object" }); } return(arrayItem); } SwaggerSingleItemSchema singleItem = new SwaggerSingleItemSchema { Ref = "#/definitions/" + type.Name }; CreateSwaggerDefinition(type.Name, type, definitions, config); return(singleItem); }
private SwaggerItemSchema GetSwaggerItemSchema(Type type, Dictionary <string, SwaggerDefinition> definitions) { if (type.IsArray && type.HasElementType) { SwaggerArrayItemSchema arrayItem = new SwaggerArrayItemSchema(); arrayItem.Items.Add(new SwaggerSingleItemSchema { Ref = "#/definitions/" + type.GetElementType().Name }); CreateSwaggerDefinition(type.GetElementType().Name, type.GetElementType(), definitions); return(arrayItem); } SwaggerSingleItemSchema singleItem = new SwaggerSingleItemSchema { Ref = "#/definitions/" + type.Name }; CreateSwaggerDefinition(type.Name, type, definitions); return(singleItem); }