Esempio n. 1
0
        public void SetRequestExampleForOperation(
            OpenApiOperation operation,
            object example,
            IContractResolver contractResolver = null,
            JsonConverter jsonConverter        = null)
        {
            if (example == null)
            {
                return;
            }

            if (operation.RequestBody == null || operation.RequestBody.Content == null)
            {
                return;
            }

            var serializerSettings = serializerSettingsDuplicator.SerializerSettings(contractResolver, jsonConverter);
            var jsonExample        = new OpenApiRawString(jsonFormatter.FormatJson(example, serializerSettings));

            OpenApiString xmlExample = null;

            if (operation.RequestBody.Content.Keys.Any(k => k.Contains("xml")))
            {
                xmlExample = new OpenApiString(example.XmlSerialize(mvcOutputFormatter));
            }

            foreach (var content in operation.RequestBody.Content)
            {
                if (content.Key.Contains("xml"))
                {
                    content.Value.Example = xmlExample;
                }
                else
                {
                    content.Value.Example = jsonExample;
                }
            }
        }
Esempio n. 2
0
        public void SetResponseExampleForStatusCode(
            OpenApiOperation operation,
            int statusCode,
            object example,
            IContractResolver contractResolver = null,
            JsonConverter jsonConverter        = null)
        {
            if (example == null)
            {
                return;
            }

            var response = operation.Responses.FirstOrDefault(r => r.Key == statusCode.ToString());

            if (response.Equals(default(KeyValuePair <string, OpenApiResponse>)) == false && response.Value != null)
            {
                var serializerSettings = serializerSettingsDuplicator.SerializerSettings(contractResolver, jsonConverter);
                var jsonExample        = new OpenApiRawString(jsonFormatter.FormatJson(example, serializerSettings));

                OpenApiString xmlExample = null;
                if (response.Value.Content.Keys.Any(k => k.Contains("xml")))
                {
                    xmlExample = new OpenApiString(example.XmlSerialize(mvcOutputFormatter));
                }

                foreach (var content in response.Value.Content)
                {
                    if (content.Key.Contains("xml"))
                    {
                        content.Value.Example = xmlExample;
                    }
                    else
                    {
                        content.Value.Example = jsonExample;
                    }
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Converts between an <see cref="OpenApiRawString"/> and a
 /// <see cref="OpenApiString"/>
 /// </summary>
 /// <param name="value"><see cref="OpenApiRawString"/> to convert</param>
 /// <returns>New <see cref="OpenApiString"/></returns>
 public static OpenApiString ToOpenApiString(OpenApiRawString value)
 => new OpenApiString(value.Value);