Repolode
RicoSuter

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. 1

    ASP.NET Core 프로젝트에 NSwag NuGet 패키지(예: NSwag.AspNetCore)를 설치합니다

  2. 2

    Startup.cs에서 AddOpenApiDocument를 사용해 NSwag를 등록한 다음 UseOpenApi와 UseSwaggerUi를 호출합니다

  3. 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 통계는 매일 갱신됩니다.

관련 프로젝트