Пример #1
0
        private async Task LoadDefaultSuccessResponseAsync(SwaggerOperation operation, MethodInfo methodInfo, string responseDescription, SwaggerGenerator swaggerGenerator)
        {
            var returnType = methodInfo.ReturnType;

            if (returnType == typeof(Task))
            {
                returnType = typeof(void);
            }
            else if (returnType.Name == "Task`1")
            {
                returnType = returnType.GenericTypeArguments[0];
            }

            if (IsVoidResponse(returnType))
            {
                operation.Responses[GetVoidResponseStatusCode()] = new SwaggerResponse
                {
                    Description = responseDescription
                };
            }
            else
            {
                var typeDescription = JsonObjectTypeDescription.FromType(returnType,
                                                                         methodInfo.ReturnParameter?.GetCustomAttributes(), _settings.DefaultEnumHandling);

                operation.Responses["200"] = new SwaggerResponse
                {
                    Description   = responseDescription,
                    IsNullableRaw = typeDescription.IsNullable,
                    Schema        = await swaggerGenerator.GenerateAndAppendSchemaFromTypeAsync(returnType, typeDescription.IsNullable, null).ConfigureAwait(false)
                };
            }
        }
Пример #2
0
        private async Task GenerateBasicSchemas()
        {
            var errorType   = typeof(ErrorDto);
            var errorSchema = JsonObjectTypeDescription.FromType(errorType, new Attribute[0], EnumHandling.String);

            errorDtoSchema = await swaggerGenerator.GenerateAndAppendSchemaFromTypeAsync(errorType, errorSchema.IsNullable, null);
        }
        private async Task GenerateBasicSchemas()
        {
            var errorType     = typeof(ErrorDto);
            var errorContract = swaggerSettings.ActualContractResolver.ResolveContract(errorType);
            var errorSchema   = JsonObjectTypeDescription.FromType(errorType, errorContract, new Attribute[0], swaggerSettings.DefaultEnumHandling);

            errorDtoSchema = await swaggerGenerator.GenerateAndAppendSchemaFromTypeAsync(errorType, errorSchema.IsNullable, null);
        }
Пример #4
0
        public static async Task <JsonSchema4> GetErrorDtoSchemaAsync(this SwaggerGenerator swaggerGenerator)
        {
            var errorType = typeof(ErrorDto);

            return(await swaggerGenerator.GenerateAndAppendSchemaFromTypeAsync(errorType, false, null));
        }