Genera tipos de TypeScript a partir de esquemas OpenAPI 3 e incluye un cliente fetch con seguridad de tipos basado en ellos.
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
Instala los paquetes NuGet de NSwag en tu proyecto de ASP.NET Core (por ejemplo, NSwag.AspNetCore)
- 2
Registra NSwag en Startup.cs con AddOpenApiDocument y, después, llama a UseOpenApi y UseSwaggerUi
- 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
Genera SDK de cliente, esqueletos de servidor y documentación en decenas de lenguajes y frameworks a partir de especificaciones OpenAPI (v2 y v3).
Herramienta de línea de comandos que genera SDK de clientes API, esqueletos de servidor y documentación HTML a partir de una definición OpenAPI/Swagger.
Herramienta de línea de comandos y biblioteca de Go que generan código base para servidores, clientes de API y modelos a partir de especificaciones OpenAPI 3.0 y 3.1.
Servidor backend para los clientes de Bitwarden, con las API, una base de datos SQL Server y despliegue con Docker para el gestor de contraseñas.
Kit de herramientas OpenAPI/Swagger de código abierto con una referencia interactiva de API, un cliente de API offline-first e integraciones para numerosos frameworks web.