public static IList <RequestBodyEntity> TransformRequestBody(OpenApiOperation openApiOperation, string componentGroupId) { var requestBodies = new List <RequestBodyEntity>(); if (openApiOperation.RequestBody != null) { foreach (var requestContent in openApiOperation.RequestBody.Content) { var requestBodySchemas = new List <RequestBodySchemaEntity> { // todo, if there exist oneof/anyof will add all them to the array. new RequestBodySchemaEntity { Name = "default", Properties = TransformHelper.GetPropertiesFromSchema(requestContent.Value.Schema, componentGroupId) } }; requestBodies.Add(new RequestBodyEntity { MediaType = requestContent.Key, Description = openApiOperation.RequestBody.Description, RequestBodySchemas = requestBodySchemas }); } } return(requestBodies); }
public static ComponentEntity Transform(TransformModel transformModel) { var properties = TransformHelper.GetPropertiesFromSchema(transformModel.OpenApiSchema, transformModel.ComponentGroupId); var component = new ComponentEntity { Id = transformModel.ComponentId, Name = transformModel.ComponentName, Service = transformModel.ServiceName, GroupName = transformModel.ComponentGroupName, ApiVersion = transformModel.OpenApiDoc.Info.Version, Description = transformModel.OpenApiSchema.Description ?? transformModel.OpenApiSchema.Title, PropertyItems = properties.ToList(), Example = GetComponentExample(transformModel.OpenApiSchema) }; return(component); }