Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

886
Vistas
Núcleo de ASP.NET: NSwag frente a Swashbuckle

actualmente estamos usando Swashbuckle.AspNetCore para fines de documentación de API, pero cuando se trata de la generación de modelos del lado del cliente (Typescript), parece que hay un gran inconveniente.

Como muestra, mejoré el conocido proyecto predeterminado de ASP.NET (WeatherForecast) con una clase base

 public class InfoEntryBase { public string Name { get; set; } public string Description { get; set; } } public class WeatherForecast : InfoEntryBase { public DateTime Date { get; set; } public int TemperatureC { get; set; } public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); public string Summary { get; set; } }

Luego expone WeatherForecast como

 WeatherForecast{ name string nullable: true description string nullable: true date string($date-time) temperatureC integer($int32) temperatureF integer($int32) readOnly: true summary string nullable: true }

y la herencia se pierde. Esto hará que sea imposible generar automáticamente modelos del lado del cliente a partir del código del lado del servidor, ya que, naturalmente, nos gusta trasladar la herencia al código de TypeScript.

Al investigar NSwag.AspNetCore , descubrí que se ocupa de la herencia. Expone:

 WeatherForecast{ name string description string date* string($date-time) temperatureC* integer($int32) temperatureF* integer($int32) summary string } InfoEntryBase{ name string description string }

¿Pasé por alto algo relacionado con Swashbuckle o no hay otra alternativa para cambiar de él a NSwag?

Puede revisar el código en https://github.com/ClemensOesterle/NSwagSpike/tree/swashbuckle mientras que la implementación de NSwag reside en la rama maestra.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto lo resolvió.

 services.AddSwaggerGen(options => { options.UseAllOfForInheritance();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda