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) }; } }
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); }
public static async Task <JsonSchema4> GetErrorDtoSchemaAsync(this SwaggerGenerator swaggerGenerator) { var errorType = typeof(ErrorDto); return(await swaggerGenerator.GenerateAndAppendSchemaFromTypeAsync(errorType, false, null)); }