본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Nswagstudio

0

NSwagStudio는 .NET, ASP.NET Core 및 TypeScript용 OpenAPI/Swagger 툴체인인 NSwag의 Windows GUI 도구입니다.

API 문서화코드 생성

소개

NSwagStudio는 .NET, ASP.NET Core 및 TypeScript용 OpenAPI/Swagger 툴체인인 NSwag의 Windows GUI 도구입니다. Rico Suter가 개발 및 유지보수하며, Web API 컨트롤러로부터 OpenAPI 사양을 생성하고, 해당 사양으로부터 C# 또는 TypeScript 클라이언트 코드를 자동 생성할 수 있습니다. 이 도구는 명령줄 인터페이스(CLI)와 통합되어 개발자가 API 문서화 및 클라이언트 생성을 시각적으로 수행할 수 있도록 지원합니다.

상세정보

OpenAPI 사양 생성

NSwagStudio는 ASP.NET Web API 및 ASP.NET Core 컨트롤러 어셈블리에서 OpenAPI 2.0 및 3.0 사양을 생성할 수 있습니다. 이 과정은 JSON 또는 어셈블리 파일에서 시작하여 Swagger v2 또는 OpenAPI 3.0 사양으로 변환됩니다.

클라이언트 코드 생성

생성된 OpenAPI 사양으로부터 C# 및 TypeScript 클라이언트 코드를 자동으로 생성할 수 있습니다. C# 클라이언트는 POCO 또는 INotifyPropertyChanged를 구현하는 DTO로 생성될 수 있으며, TypeScript 클라이언트는 jQuery, AngularJS, Angular (v2+), Fetch, Aurelia, Axios 등 다양한 템플릿을 지원합니다.

Swagger UI 및 ReDoc 서빙

생성된 OpenAPI 사양은 ASP.NET 또는 ASP.NET Core 미들웨어를 통해 Swagger UI 또는 ReDoc 인터페이스로 제공될 수 있으며, 이는 API 문서화를 위한 대화형 UI를 제공합니다.

다운로드·설치 방법

NSwagStudio는 GitHub 릴리스 페이지에서 MSI 설치 파일(NSwagStudio.msi) 또는 ZIP 아카이브(NSwag.zip)로 다운로드할 수 있습니다. MSI 설치 파일을 실행하면 Windows 데스크톱 애플리케이션으로 설치되며, ZIP 파일을 압축 해제 후 실행 파일을 직접 실행할 수 있습니다.

기본 사용법/명령어

NSwagStudio를 실행하면 왼쪽 입력 섹션에서 JSON Schema 또는 .NET 어셈블리를 선택할 수 있습니다. Web API 컨트롤러를 지정하고, ‘Use single controller’ 옵션을 활성화하여 특정 컨트롤러만 대상으로 삼을 수 있습니다. 오른쪽 출력 섹션에서 ‘Swagger Specification’, ‘TypeScript Client’, ‘CSharp Client’ 중 원하는 출력 형식을 선택한 후, ‘Generate Outputs’ 버튼을 클릭하면 결과 코드가 표시됩니다. 생성된 코드는 복사하거나 파일로 저장할 수 있습니다.

이런 경우에 유용합니다

ASP.NET Web API 또는 ASP.NET Core 프로젝트를 개발하는 개발자가 API 문서화를 자동화하고, 프론트엔드 또는 모바일 애플리케이션에서 사용할 TypeScript 클라이언트 또는 백엔드 서비스 간 통신을 위한 C# 클라이언트를 빠르게 생성하고자 할 때 유용합니다. 특히 여러 플랫폼(jQuery, Angular, React 등)을 대상으로 하는 클라이언트 라이브러리를 유지보수해야 하는 팀에게 적합합니다.

지원 환경·시스템 요구사항

NSwagStudio는 Windows 운영 체제에서 실행되며, .NET 4.6 이상 또는 .NET Core/.NET Standard 1.6 이상이 필요합니다. 이는 NSwag.Core 및 관련 라이브러리가 해당 프레임워크를 대상으로 빌드되었기 때문입니다.

최신 버전·업데이트

현재 버전은 14.7.1이며, 2026년 9월 9일에 마지막으로 업데이트되었습니다. 업데이트 내역은 GitHub 저장소의 릴리스 페이지에서 확인할 수 있으며, 주로 안정성 향상 및 .NET 최신 버전과의 호환성 개선이 포함됩니다.

화면으로 보는 주요 기능

Swagger UI 생성 흐름도

Swagger UI 생성 흐름도

Swagger UI 생성 과정을 보여주는 다이어그램. 왼쪽에서 Web API Controllers, Swagger, JSON Schema, .NET Types가 각각 JSON 또는 어셈블리에서 Swagger v2 (OpenAPI) Specification으로 변환되며, 이는 오른쪽의 TypeScript Clients (JQuery, AngularJS, Angular 2, Fetch, Aurelia)와 C# Clients (POCOs or INPCs, C# Web API Controllers)로 생성된다.

NswagStudio 구성 요소 다이어그램

NswagStudio 구성 요소 다이어그램

NswagStudio의 구성 요소를 계층적으로 보여주는 다이어그램. 상단에는 NswagStudio, Nswag.Console, Nswag.AssemblyLoader, Nswag.Commands, Nswag.Core, Nswag.SwaggerGeneration, Nswag.AspNetCore, Nswag.AspOwin, Nswag.CodeGeneration, Nswag.CodeGeneration.CSharp, Nswag.CodeGeneration.TypeScript, NJsonSchema.CodeGeneration, NJsonSchema.CodeGeneration.TypeScript, NJsonSchema 등이 포함되어 있으며, 각각의 버전 및 호환되는 .NET 플랫폼 (.NET 4.6+, .NET Core / .NET Standard 1.6, PCL 259 / .NET Standard 1.0)이 표시된다.

NswagStudio 인터페이스

NswagStudio 인터페이스

NswagStudio의 사용자 인터페이스. 왼쪽에는 입력 섹션에서 JSON Schema 또는 .NET Assembly를 선택하고, Web API Controller에서 Nswag.Demo.Web.Controllers.PersonsController를 선택하며, Use single controller 옵션과 Default Enum Handling, Default URL Template 설정이 가능하다. 오른쪽에는 Output 섹션에서 Swagger Specification, TypeScript Client, CSharp Client를 선택할 수 있으며, 생성된 코드가 표시된다. 하단에는 Generate Outputs 버튼이 있다.

시스템 요구사항

.NET 4.6+ 또는 .NET Core/.NET Standard 1.6 이상