Example #1
0
        private void MapResponses(OpenApiModel.OpenApiModelBuilder openApiModelBuilder,
                                  Dictionary <string, Response> versionedResponses)
        {
            foreach (var(path, response) in versionedResponses)
            {
                var schemas = new Dictionary <string, ISchema>();

                if (response.Content != null)
                {
                    foreach (var(type, mediaType) in response.Content)
                    {
                        var schemaPath = mediaType.Schema.GetRef() ?? $"{path}/content/{type}/schema";
                        var schema     = openApiModelBuilder.GetSchemaForPath(schemaPath);

                        if (schema == null)
                        {
                            throw new ArgumentException(
                                      $"Couldn't create response - missing schema {schemaPath}. Pleas validate them earlier.");
                        }

                        schemas.Add(type, schema);
                    }
                }

                openApiModelBuilder.AttachResponse(path, new Models.Responses.Response(schemas));
            }
        }