Repolode
RicoSuter

RicoSuter/NSwag

Toolchain Swagger/OpenAPI para .NET e ASP.NET Core que gera especificações de API a partir de controllers e clientes C# ou TypeScript a partir dessas especificações.

Estrelas
7,368
Forks
1,363
Issues abertas
2,068
Último commit
há 2 meses

O que é?

NSwag é uma toolchain para trabalhar com especificações OpenAPI (Swagger) em projetos .NET e TypeScript. Ela pode gerar documentos OpenAPI 2.0 e 3.0 a partir de controllers do ASP.NET Web API e do ASP.NET Core, além de disponibilizá-los por meio de middleware junto com Swagger UI ou ReDoc.

No sentido inverso, ela lê uma especificação OpenAPI existente e gera código de cliente em C# ou TypeScript. A saída em TypeScript é compatível com vários destinos, incluindo Angular, AngularJS, Aurelia, jQuery, Axios e a Fetch API do navegador. O projeto usa NJsonSchema para lidar com JSON Schema e gerar tipos.

NSwag pode ser executado por uma ferramenta de linha de comando (distribuída como uma ferramenta NuGet ou um pacote npm), por targets do MSBuild ou pelo aplicativo gráfico para Windows NSwagStudio. A configuração é armazenada em um arquivo JSON.

Recursos principais

  • 01Gera documentos Swagger 2.0 e OpenAPI 3.0 a partir de controllers do ASP.NET (Core).
  • 02Disponibiliza especificações de API com Swagger UI ou ReDoc por meio de middleware.
  • 03Gera clientes C# e TypeScript a partir de especificações OpenAPI.
  • 04Oferece suporte a vários templates HTTP para TypeScript, incluindo Angular, Fetch e Axios.
  • 05Pode ser executado pela CLI, pelo MSBuild ou pelo aplicativo NSwagStudio para Windows.

Casos de uso

  • Documentar uma Web API existente em ASP.NET Core com OpenAPI e Swagger UI.
  • Gerar um cliente C# tipado para chamar um serviço REST de outro projeto .NET.
  • Gerar um cliente TypeScript baseado em Angular ou Fetch a partir da especificação de uma API de backend.
  • Automatizar a geração de código de cliente em um pipeline de build com MSBuild ou pela CLI.

Início rápido

  1. 1

    Instale os pacotes NuGet do NSwag no seu projeto ASP.NET Core (por exemplo, NSwag.AspNetCore)

  2. 2

    Registre o NSwag em Startup.cs com AddOpenApiDocument e, em seguida, chame UseOpenApi e UseSwaggerUi

  3. 3

    Gere clientes em C# ou TypeScript a partir de um arquivo OpenAPI usando os exemplos de código do README ou o NSwag CLI

Antes de usar

  • O NSwagStudio é um aplicativo de desktop exclusivo para Windows.
  • O uso da linha de comando no Mac e no Linux depende do Mono ou do binário de console do .NET Core.
  • O gerador OpenAPI do ASP.NET Core está marcado como experimental no README.

Tópicos

Perguntas frequentes

O que é NSwag?
Toolchain Swagger/OpenAPI para .NET e ASP.NET Core que gera especificações de API a partir de controllers e clientes C# ou TypeScript a partir dessas especificações. NSwag é uma toolchain para trabalhar com especificações OpenAPI (Swagger) em projetos .NET e TypeScript. Ela pode gerar documentos OpenAPI 2.0 e 3.0 a partir de controllers do ASP.NET Web API e do ASP.NET Core, além de disponibilizá-los por meio de middleware junto com Swagger UI ou ReDoc.
NSwag é gratuito? Qual é a licença?
NSwag é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
NSwag ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de NSwag foi em 7 de set. de 2026.
Para que posso usar NSwag?
Documentar uma Web API existente em ASP.NET Core com OpenAPI e Swagger UI. Gerar um cliente C# tipado para chamar um serviço REST de outro projeto .NET. Gerar um cliente TypeScript baseado em Angular ou Fetch a partir da especificação de uma API de backend. Automatizar a geração de código de cliente em um pipeline de build com MSBuild ou pela CLI.
Como instalar NSwag?
Instale os pacotes NuGet do NSwag no seu projeto ASP.NET Core (por exemplo, NSwag.AspNetCore) Registre o NSwag em Startup.cs com AddOpenApiDocument e, em seguida, chame UseOpenApi e UseSwaggerUi Gere clientes em C# ou TypeScript a partir de um arquivo OpenAPI usando os exemplos de código do README ou o NSwag CLI
Onde consigo NSwag?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/RicoSuter/NSwag

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados