Repolode
RicoSuter

RicoSuter/NSwag

Una cadena de herramientas Swagger/OpenAPI para .NET y ASP.NET Core que genera especificaciones de API a partir de controladores y clientes C# o TypeScript a partir de especificaciones.

Estrellas
7,368
Forks
1,363
Issues abiertos
2,068
Último commit
hace 2 meses

¿Qué es?

NSwag es una cadena de herramientas para trabajar con especificaciones OpenAPI (Swagger) en proyectos .NET y TypeScript. Puede generar documentos OpenAPI 2.0 y 3.0 a partir de controladores de ASP.NET Web API y ASP.NET Core, y servirlos mediante middleware junto con Swagger UI o ReDoc.

En el sentido inverso, lee una especificación OpenAPI existente y genera código de cliente en C# o TypeScript. La salida en TypeScript admite varios destinos, como Angular, AngularJS, Aurelia, jQuery, Axios y la API Fetch del navegador. El proyecto utiliza NJsonSchema para gestionar JSON Schema y generar tipos.

NSwag se puede ejecutar desde una herramienta de línea de comandos (distribuida como herramienta NuGet o paquete npm), desde objetivos de MSBuild o desde la aplicación gráfica para Windows NSwagStudio. La configuración se guarda en un archivo JSON.

Funciones clave

  • 01Genera documentos Swagger 2.0 y OpenAPI 3.0 a partir de controladores de ASP.NET (Core).
  • 02Sirve especificaciones de API con Swagger UI o ReDoc mediante middleware.
  • 03Genera clientes C# y TypeScript a partir de especificaciones OpenAPI.
  • 04Admite varias plantillas HTTP para TypeScript, incluidas Angular, Fetch y Axios.
  • 05Se ejecuta desde la CLI, MSBuild o la aplicación para Windows NSwagStudio.

Casos de uso

  • Documentar una Web API existente de ASP.NET Core con OpenAPI y Swagger UI.
  • Generar un cliente C# tipado para llamar a un servicio REST desde otro proyecto .NET.
  • Crear un cliente TypeScript basado en Angular o Fetch a partir de la especificación de una API de backend.
  • Automatizar la generación de código de cliente en una canalización de compilación con MSBuild o la CLI.

Inicio rápido

  1. 1

    Instala los paquetes NuGet de NSwag en tu proyecto de ASP.NET Core (por ejemplo, NSwag.AspNetCore)

  2. 2

    Registra NSwag en Startup.cs con AddOpenApiDocument y, después, llama a UseOpenApi y UseSwaggerUi

  3. 3

    Genera clientes en C# o TypeScript a partir de un archivo OpenAPI usando los ejemplos de código del README o NSwag CLI

Antes de usarlo

  • NSwagStudio es una aplicación de escritorio exclusiva para Windows.
  • El uso de la línea de comandos en Mac y Linux depende de Mono o del binario de consola de .NET Core.
  • El generador OpenAPI de ASP.NET Core aparece marcado como experimental en el README.

Temas

Preguntas frecuentes

¿Qué es NSwag?
Una cadena de herramientas Swagger/OpenAPI para .NET y ASP.NET Core que genera especificaciones de API a partir de controladores y clientes C# o TypeScript a partir de especificaciones. NSwag es una cadena de herramientas para trabajar con especificaciones OpenAPI (Swagger) en proyectos .NET y TypeScript. Puede generar documentos OpenAPI 2.0 y 3.0 a partir de controladores de ASP.NET Web API y ASP.NET Core, y servirlos mediante middleware junto con Swagger UI o ReDoc.
¿NSwag es gratuito? ¿Qué licencia tiene?
NSwag es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿NSwag sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de NSwag fue el 7 sept 2026.
¿Para qué puedo usar NSwag?
Documentar una Web API existente de ASP.NET Core con OpenAPI y Swagger UI. Generar un cliente C# tipado para llamar a un servicio REST desde otro proyecto .NET. Crear un cliente TypeScript basado en Angular o Fetch a partir de la especificación de una API de backend. Automatizar la generación de código de cliente en una canalización de compilación con MSBuild o la CLI.
¿Cómo se instala NSwag?
Instala los paquetes NuGet de NSwag en tu proyecto de ASP.NET Core (por ejemplo, NSwag.AspNetCore) Registra NSwag en Startup.cs con AddOpenApiDocument y, después, llama a UseOpenApi y UseSwaggerUi Genera clientes en C# o TypeScript a partir de un archivo OpenAPI usando los ejemplos de código del README o NSwag CLI
¿Dónde consigo NSwag?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/RicoSuter/NSwag

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados