コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }