피드로 돌아가기
Umbraco 18 and OpenAPI: a heads-up for extension developers
Dev.toDev.to
Backend

Swashbuckle 제거 및 Microsoft OpenAPI 도입을 통한 의존성 최적화

Umbraco 18 and OpenAPI: a heads-up for extension developers

Laura Neto2026년 5월 19일10intermediate

Context

Umbraco 18 버전에서 OpenAPI 문서 생성 라이브러리를 Swashbuckle.AspNetCore에서 Microsoft.AspNetCore.OpenApi로 교체. 외부 Third-party 의존성을 줄여 프레임워크 유지보수성을 높이고 ASP.NET Core 표준을 따르기 위한 결정.

Technical Solution

  • AddBackOfficeOpenApiDocument 확장 메서드 도입을 통한 보일러플레이트 코드 제거 및 표준화된 기본 설정 적용
  • [MapToApi(documentName)] 어트리뷰트 기반의 엔드포인트 스코핑으로 문서 생성 범위 정밀 제어
  • WithJsonOptions 설정을 통한 런타임 직렬화 옵션과 OpenAPI 스키마 생성 옵션의 일치화로 SDK 불일치 방지
  • InterceptorsNamespaces 설정을 .csproj에 추가하여 Source Generator 기반의 XML 문서 주석 처리 오류(CS9137) 해결
  • WithBackOfficeAuthentication을 통한 OAuth2 보안 스킴 통합 및 Swagger UI 내 인증 플로우 자동화
  • 하위 호환성을 위해 Swashbuckle 유지 시 AddOpenApiDocumentToUi를 이용한 UI 플러그인 방식 제공

- OpenAPI 문서 생성 시 런타임 JsonOptions와 스키마 생성 옵션이 일치하는지 확인 - 클래스 라이브러리 프로젝트에서 Source Generator 사용 시 Web SDK 전용 Property 설정 여부 검토 - 외부 의존성 라이브러리를 프레임워크 내장 라이브러리로 대체하여 의존성 그래프 단순화 시도

원문 읽기