.NET Core 6.0 에서 Swagger 사용관련 질문

안녕하세요.
평소 API관련 개발을 많이하여 Swagger 프레임워크를 활용하여 Api명세서를 구성하고있습니다.

현재 .NET Framework / .NET Core 3.1 부분에서는 Swagger 프레임워크가 정상적으로 동작을 하나

최근 .NET core 6.0으로 Web Api 를 구성하여 개발을 하니 이상하게도 Api json파일을 못찾는 이슈가 발생을 하였습니다. 로컬에서 실행시키면 https://localhost:7184/swagger/v1/swagger.json 해당 파일을 읽어 정상
적으로 구성이 되나 Azure에 웹앱으로 배포를 하고나면 아래와 같이 json파일을 못가져오는 현상이 발생합니다.

Fetch error

Not Found /swagger/v1/swagger.json

Swagger 셋팅자체가 엄청난 작업을 요하진 않으니… 작업자체를 잘못한 건 아닐거같은데… 혹시 닷넷 코어6.0을 쓰시는분중 비슷한 케이스를 경험하신 분이 있는지 궁금해서 이렇게 글을 남겨봅니다.
찾아보니 Azure 쪽에서 이런케이스가 좀 자주 있는것 같긴하네요… ㅠ
https://www.faqcode4u.com/faq/362047/swagger-ui-not-generating-in-azure-net-core-but-it-is-working-in-local

다들 좋은하루되세요~~!!

2개의 좋아요

신규 프로젝트에서 swagger 관련 아래 코드를 수정하여 배포 하였더니 접근이 되는 것 같아요.
도움이 되시길 바래요~

builder.Services.AddSwaggerGen(config =>
{
    config.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
    {
        Title = "WeatherForecasts",
        Version = "v1"
    });
});

app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WeatherForecasts v1"));
4개의 좋아요

감사합니다!
다만… 지금 코드가 저기에 options.RoutePrefix = string.Empty; 이 옵션 하나 딱 더 붙어있는 코드인데 안되는상황이라… 로컬때는 json파일이 정상적으로 구성이 되니 해당 파일을 뽑아내서 미리 다른저장소에 올려서 불러와서 해보는 방식으로 접근해보고잇긴합니다… ㅎㅎ

2개의 좋아요