es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Equivalente de launchUrl de ASP.NET Core 6 para producción.

Estoy utilizando el ejemplo de pronóstico del clima de ASP.NET Core 6. En mi entorno de desarrollo, puedo ejecutar la aplicación y muestra la página “default” como localhost:xxxx/swagger/index.html.

En producción, el valor predeterminado no se muestra; puedo acceder a él si uso la URL completa https://example.com/swagger.

¿Cómo puedo hacer que ASP.NET Core 6 (en producción) utilice esa página como predeterminada?

He intentado:


app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("default", "{controller=swagger}");
});

Tampoco funciona. Nuevamente, el problema está en producción: — launchUrl solo funciona en desarrollo (por diseño).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para que ASP.NET Core 6 muestre automáticamente la página de Swagger en producción, puedes probar agregando el siguiente código en el archivo Startup.cs:

    app.UsePathBase("/swagger"); // establece la ruta base como "/swagger"
    app.UseStaticFiles(); // habilita el servicio de archivos estáticos (como index.html)
    
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers(); // mapea los controladores (si existen)
        endpoints.MapFallbackToFile("index.html"); // redirige a index.html para rutas no existentes
    });
    

    Este código establece la ruta base como /swagger, habilita el servicio de archivos estáticos (como index.html) y mapea los controladores (si existen). También agrega un punto final de recuperación que devuelve index.html para rutas no existentes.

    Asegúrate de tener index.html en tu carpeta wwwroot y de que tu aplicación esté desplegada con la URL base correcta (`https://example.com/swagger` en este caso).

    Ten en cuenta que la propiedad launchUrl en el archivo launchSettings.json solo funciona en desarrollo (por diseño), por lo que necesitas utilizar un enfoque diferente en producción.

Comments are closed.