Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }