OpenAPI 3 스키마에서 TypeScript 타입을 생성하고, 이를 기반으로 타입 안전한 fetch 클라이언트를 제공합니다.
RicoSuter/NSwag
컨트롤러에서 API 명세를 생성하고 명세를 바탕으로 C# 또는 TypeScript 클라이언트를 생성하는 .NET 및 ASP.NET Core용 Swagger/OpenAPI 툴체인입니다.
- 스타
- 7,368
- 포크
- 1,363
- 열린 이슈
- 2,068
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
NSwag는 .NET 및 TypeScript 프로젝트에서 OpenAPI (Swagger) 명세를 다루기 위한 툴체인입니다. ASP.NET Web API 및 ASP.NET Core 컨트롤러에서 OpenAPI 2.0 및 3.0 문서를 생성하고, Swagger UI 또는 ReDoc과 함께 미들웨어를 통해 제공할 수 있습니다.
반대로 기존 OpenAPI 명세를 읽어 C# 또는 TypeScript 클라이언트 코드를 생성할 수도 있습니다. TypeScript 출력은 Angular, AngularJS, Aurelia, jQuery, Axios, 브라우저 Fetch API 등 여러 타깃을 지원합니다. JSON Schema 처리와 타입 생성에는 NJsonSchema를 사용합니다.
NSwag는 NuGet 도구 또는 npm 패키지로 배포되는 명령줄 도구, MSBuild 타깃, Windows GUI 앱 NSwagStudio에서 실행할 수 있습니다. 설정은 JSON 파일에 저장됩니다.
핵심 기능
- 01ASP.NET (Core) 컨트롤러에서 Swagger 2.0 및 OpenAPI 3.0 문서를 생성합니다.
- 02미들웨어를 통해 Swagger UI 또는 ReDoc과 함께 API 명세를 제공합니다.
- 03OpenAPI 명세에서 C# 및 TypeScript 클라이언트를 생성합니다.
- 04Angular, Fetch, Axios 등을 포함한 여러 TypeScript HTTP 템플릿을 지원합니다.
- 05CLI, MSBuild 또는 Windows 앱 NSwagStudio에서 실행할 수 있습니다.
활용 사례
- 기존 ASP.NET Core Web API를 OpenAPI와 Swagger UI로 문서화합니다.
- 다른 .NET 프로젝트에서 REST 서비스에 호출을 보내는 타입 지정 C# 클라이언트를 생성합니다.
- 백엔드 API 명세에서 Angular 또는 Fetch 기반 TypeScript 클라이언트를 생성합니다.
- MSBuild 또는 CLI를 사용해 빌드 파이프라인에서 클라이언트 코드 생성을 자동화합니다.
빠른 시작
- 1
ASP.NET Core 프로젝트에 NSwag NuGet 패키지(예: NSwag.AspNetCore)를 설치합니다
- 2
Startup.cs에서 AddOpenApiDocument를 사용해 NSwag를 등록한 다음 UseOpenApi와 UseSwaggerUi를 호출합니다
- 3
README의 코드 샘플 또는 NSwag CLI를 사용해 OpenAPI 파일에서 C# 또는 TypeScript 클라이언트를 생성합니다
사용 전 알아둘 점
- NSwagStudio는 Windows 전용 데스크톱 애플리케이션입니다.
- Mac 및 Linux에서 명령줄을 사용하려면 Mono 또는 .NET Core 콘솔 바이너리가 필요합니다.
- ASP.NET Core OpenAPI 생성기는 README에서 실험적인 기능으로 표시되어 있습니다.
토픽
자주 묻는 질문
- NSwag은(는) 무엇인가요?
- 컨트롤러에서 API 명세를 생성하고 명세를 바탕으로 C# 또는 TypeScript 클라이언트를 생성하는 .NET 및 ASP.NET Core용 Swagger/OpenAPI 툴체인입니다. NSwag는 .NET 및 TypeScript 프로젝트에서 OpenAPI (Swagger) 명세를 다루기 위한 툴체인입니다. ASP.NET Web API 및 ASP.NET Core 컨트롤러에서 OpenAPI 2.0 및 3.0 문서를 생성하고, Swagger UI 또는 ReDoc과 함께 미들웨어를 통해 제공할 수 있습니다.
- NSwag은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- NSwag은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- NSwag은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. NSwag의 마지막 커밋은 2026년 9월 7일입니다.
- NSwag은(는) 어디에 사용할 수 있나요?
- 기존 ASP.NET Core Web API를 OpenAPI와 Swagger UI로 문서화합니다. 다른 .NET 프로젝트에서 REST 서비스에 호출을 보내는 타입 지정 C# 클라이언트를 생성합니다. 백엔드 API 명세에서 Angular 또는 Fetch 기반 TypeScript 클라이언트를 생성합니다. MSBuild 또는 CLI를 사용해 빌드 파이프라인에서 클라이언트 코드 생성을 자동화합니다.
- NSwag는 어떻게 설치하나요?
- ASP.NET Core 프로젝트에 NSwag NuGet 패키지(예: NSwag.AspNetCore)를 설치합니다 Startup.cs에서 AddOpenApiDocument를 사용해 NSwag를 등록한 다음 UseOpenApi와 UseSwaggerUi를 호출합니다 README의 코드 샘플 또는 NSwag CLI를 사용해 OpenAPI 파일에서 C# 또는 TypeScript 클라이언트를 생성합니다
- NSwag은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/RicoSuter/NSwag
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
OpenAPI 사양으로 수십 가지 언어와 프레임워크의 API 클라이언트 SDK, 서버 스텁, 문서를 생성합니다.
OpenAPI/Swagger 정의에서 API 클라이언트 SDK, 서버 스텁, HTML 문서를 생성하는 CLI 도구입니다.
OpenAPI 3.0 및 3.1 사양에서 서버 보일러플레이트, API 클라이언트와 모델을 생성하는 Go CLI 도구이자 라이브러리입니다.
Bitwarden 클라이언트용 API, SQL Server 데이터베이스, Docker 배포를 제공하는 백엔드 서버입니다.
인터랙티브 API 레퍼런스, 오프라인 우선 API 클라이언트, 다양한 웹 프레임워크용 통합 기능을 제공하는 오픈 소스 OpenAPI/Swagger 툴킷입니다.