Esta inquietud se puede tratar de diversas maneras, pero en este caso te compartimos la solución más completa en nuestra opinión.
Solución:
al final usé esto para arreglarlo:
puede configurar PreSerializeFilters para agregar BasePath y editar las rutas. Pensé que habría una forma más elegante, pero esto funciona.
var basepath = "/api/AppStatus";
c.PreSerializeFilters.Add((swaggerDoc, httpReq) => swaggerDoc.BasePath = basepath);
c.PreSerializeFilters.Add((swaggerDoc, httpReq) =>
IDictionary paths = new Dictionary();
foreach (var path in swaggerDoc.Paths)
paths.Add(path.Key.Replace(basepath, "/"), path.Value);
swaggerDoc.Paths = paths;
);
BasePath se usó en Swagger v2.0 Ha sido reemplazado por los servidores array en OpenApi v3.0
En v5, debe hacer esto para usar OpenApi v3.0:
var basePath = "/v1";
app.UseSwagger(c =>
c.RouteTemplate = "swagger/documentName/swagger.json";
c.PreSerializeFilters.Add((swaggerDoc, httpReq) =>
swaggerDoc.Servers = new List new OpenApiServer Url = $"httpReq.Scheme://httpReq.Host.ValuebasePath" ;
);
);
Si posees algún reparo o disposición de progresar nuestro tutorial te inspiramos ejecutar una acotación y con deseo lo analizaremos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)