Пример #1
0
        private ResponseContext RespondWithMock(RouteSpecResponse mediaType)
        {
            var body = OpenApiSerializer.Serialize(WriteBody);

            return(new ResponseContext
            {
                StatusCode = mediaType.StatusCodeParsed,
                ContentType = mediaType.ContentType,
                Body = body,
            });

            void WriteBody(IOpenApiWriter writer)
            {
                var _ = TryWriteExample(writer) || DataProvider.TryWriteValue(writer, mediaType.Schema);
            }

            bool TryWriteExample(IOpenApiWriter writer)
            {
                if (mediaType.Examples?.Count > 0)
                {
                    var example = mediaType.Examples.First();
                    writer.WriteRaw(example);
                    return(true);
                }

                return(false);
            }
        }
Пример #2
0
        public RouteSpecBuilder WithResponse(JSchema schema, HttpStatusCode statusCode = HttpStatusCode.OK, string contentType = "application/json")
        {
            var statusCodeNum = (int)statusCode;
            var response      = new RouteSpecResponse(contentType, statusCodeNum.ToString(), schema, new List <string>());

            Responses.Add(response);
            return(this);
        }