diff --git a/README.md b/README.md index 2068235..d5f24a8 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,6 @@ app.UseExceptionHandler(); ```csharp ``` + +## Swagger Request Exapmle 작성 +* https://medium.com/@niteshsinghal85/multiple-request-response-examples-for-swagger-ui-in-asp-net-core-864c0bdc6619 diff --git a/src/WebApplicationMinimalApi8/Dto/MessageDto.cs b/src/WebApplicationMinimalApi8/Dto/MessageDto.cs index 478e0d2..3822974 100644 --- a/src/WebApplicationMinimalApi8/Dto/MessageDto.cs +++ b/src/WebApplicationMinimalApi8/Dto/MessageDto.cs @@ -4,10 +4,7 @@ namespace WebApplicationMinimalApi8.Dto; public record MessageDto { - /// - /// - /// - /// 안녕하세요 + [SwaggerParameterExample] public required string Body { get; init; } } diff --git a/src/WebApplicationMinimalApi8/Program.cs b/src/WebApplicationMinimalApi8/Program.cs index afa17ad..7b01835 100644 --- a/src/WebApplicationMinimalApi8/Program.cs +++ b/src/WebApplicationMinimalApi8/Program.cs @@ -1,13 +1,18 @@ using System.Reflection.Metadata.Ecma335; using FluentValidation; using Microsoft.OpenApi.Models; +using Swashbuckle.AspNetCore.Filters; using WebApplicationMinimalApi8.Dto; using WebApplicationMinimalApi8.ExceptionHandlers; var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsApiExplorer(); -builder.Services.AddSwaggerGen(); +builder.Services.AddSwaggerGen(c => +{ + c.ExampleFilters(); +}); +builder.Services.AddSwaggerExamplesFromAssemblyOf(); builder.Services.AddValidatorsFromAssemblyContaining(); builder.AddFluentValidationEndpointFilter(); @@ -32,27 +37,7 @@ .WithDescription("메시지를 검증합니다.") .AddFluentValidationFilter() - .WithOpenApi(x => - { - x.RequestBody = new OpenApiRequestBody - { - Content = - { - ["application/json"] = new OpenApiMediaType - { - Schema = new OpenApiSchema - { - Reference = new OpenApiReference - { - Id = "MessageDto", - Type = ReferenceType.Schema - } - } - } - } - }; - return x; - }); + .WithOpenApi(); app.MapGet("/500", () => { diff --git a/src/WebApplicationMinimalApi8/WebApplicationMinimalApi8.csproj b/src/WebApplicationMinimalApi8/WebApplicationMinimalApi8.csproj index a2bd7f3..4f1e218 100644 --- a/src/WebApplicationMinimalApi8/WebApplicationMinimalApi8.csproj +++ b/src/WebApplicationMinimalApi8/WebApplicationMinimalApi8.csproj @@ -12,6 +12,7 @@ +