private async Task AddBodyParameterAsync(string name, ParameterInfo parameter, SwaggerOperation operation, SwaggerGenerator swaggerGenerator) { if (parameter.ParameterType.Name == "XmlDocument" || parameter.ParameterType.InheritsFrom("XmlDocument", TypeNameStyle.Name)) { operation.Consumes = new List <string> { "application/xml" }; operation.Parameters.Add(new SwaggerParameter { Name = name, Kind = SwaggerParameterKind.Body, Schema = new JsonSchema4 { Type = JsonObjectType.String }, IsNullableRaw = true, IsRequired = parameter.HasDefaultValue == false, Description = await parameter.GetDescriptionAsync(parameter.GetCustomAttributes()).ConfigureAwait(false) }); } else if (parameter.ParameterType.IsAssignableTo("System.IO.Stream", TypeNameStyle.FullName)) { operation.Consumes = new List <string> { "application/octet-stream" }; operation.Parameters.Add(new SwaggerParameter { Name = name, Kind = SwaggerParameterKind.Body, Schema = new JsonSchema4 { Type = JsonObjectType.String, Format = JsonFormatStrings.Byte }, IsNullableRaw = true, IsRequired = parameter.HasDefaultValue == false, Description = await parameter.GetDescriptionAsync(parameter.GetCustomAttributes()).ConfigureAwait(false) }); } else { var operationParameter = await swaggerGenerator.CreateBodyParameterAsync(name, parameter).ConfigureAwait(false); operation.Parameters.Add(operationParameter); } }
private async Task AddBodyParameterAsync(string name, ParameterInfo parameter, SwaggerOperation operation, SwaggerGenerator swaggerGenerator) { if (parameter.ParameterType.Name == "XmlDocument" || parameter.ParameterType.InheritsFrom("XmlDocument", TypeNameStyle.Name)) { operation.Consumes = new List <string> { "application/xml" }; operation.Parameters.Add(new SwaggerParameter { Name = name, Kind = SwaggerParameterKind.Body, IsRequired = parameter.HasDefaultValue == false, IsNullableRaw = true, Description = await parameter.GetXmlDocumentationAsync().ConfigureAwait(false) }); } else { var operationParameter = await swaggerGenerator.CreateBodyParameterAsync(name, parameter).ConfigureAwait(false); operation.Parameters.Add(operationParameter); } }