public static IList <ParameterEntity> TransformUriParameters(OpenApiOperation openApiOperation, string componentGroupId) { var parameterEntities = new List <ParameterEntity>(); foreach (var openApiParameter in openApiOperation.Parameters) { var parameterEntity = new ParameterEntity { Name = openApiParameter.Name, Description = openApiParameter.Description, In = openApiParameter.In.ToString().ToLower(), IsRequired = openApiParameter.Required, IsReadOnly = openApiParameter.Schema?.ReadOnly ?? false, Nullable = openApiParameter.Schema?.Nullable ?? true, IsDeprecated = openApiParameter.Deprecated, Pattern = openApiParameter.Schema?.Pattern, Format = openApiParameter.Schema?.Format, Types = new List <PropertyTypeEntity> { TransformHelper.ParseOpenApiSchema(openApiParameter.Schema, componentGroupId) } }; parameterEntities.Add(parameterEntity); } return(parameterEntities); }
private static IList <ResponseMediaTypeAndBodyEntity> GetResponseMediaTypeAndBodies(OpenApiReference openApiReference, IDictionary <string, OpenApiMediaType> contents, string componentGroupId) { var responseMediaTypeAndBodyEntities = new List <ResponseMediaTypeAndBodyEntity>(); foreach (var content in contents) { var propertyTypeEntities = new List <PropertyTypeEntity>(); var propertyEntities = new List <PropertyEntity>(); if (!string.IsNullOrEmpty(openApiReference?.Id) && openApiReference?.ReferenceV3?.Contains("responses") == false) { propertyTypeEntities.Add(new PropertyTypeEntity { Id = TransformHelper.GetReferenceId(openApiReference, componentGroupId) }); } else { var type = TransformHelper.ParseOpenApiSchema(content.Value.Schema, componentGroupId); if (type.AnonymousChildren != null && type.AnonymousChildren.Count > 0) { propertyEntities.AddRange(type.AnonymousChildren); } else { type.AnonymousChildren = null; propertyTypeEntities.Add(type); } } responseMediaTypeAndBodyEntities.Add(new ResponseMediaTypeAndBodyEntity { MediaType = content.Key, ResponseBodyTypes = propertyTypeEntities.Count > 0 ? propertyTypeEntities : null, ResponseBodySchemas = propertyEntities.Count > 0 ? propertyEntities : null }); } return(responseMediaTypeAndBodyEntities); }