asp net core api

Albert Garcia 0 Puntos de reputación
2025-04-01T11:51:39.91+00:00

Buenas, tengo una aplicacion react+aps net core 8, cuando la ejecuto desde visual studio me funciona perfectamente tanto la parte del frontend como las llamadas a la api, el problema es que cuando publico las llamadas a la api no funcionan y el swagger me aparece vacio, cualquier llamada que hago me devuelve de respuesta el frontend como fallback supongo,tanto desde la web, llamadas axios desde react y postman.

Por que puede ser?? estoy probando de todo y no lo consigo

Tecnologías de desarrollo ASP.NET otras
0 comentarios No hay comentarios
{count} votos

2 respuestas

Ordenar por: Muy útil
  1. Jonathan Pereira Castillo 17,095 Puntos de reputación Personal externo de Microsoft Moderador
    2025-04-01T21:18:55.85+00:00

    ¡Hola Albert Garcia!

    ¡Bienvenido/a a Microsoft Q&A! Entiendo tu frustración con los problemas al publicar tu aplicación ASP.NET Core 8. Aquí tienes algunas sugerencias detalladas para solucionar este problema.

    Pasos para Solución de Problemas

    Verificación de la Configuración de Publicación

    Asegúrate de que la configuración de publicación esté correcta:

    Perfil de Publicación:

    • Verifica que el perfil de publicación esté configurado correctamente en Visual Studio.
    • Asegúrate de que estás publicando tanto el frontend como la API correctamente.

    Configuración del Servidor:

    • Asegúrate de que el servidor donde estás publicando la aplicación esté configurado para manejar tanto el frontend como la API.
    • Verifica que el servidor tenga instalados todos los requisitos necesarios para ejecutar una aplicación ASP.NET Core 8.

    Verificación de Rutas y Endpoints

    Asegúrate de que las rutas y endpoints estén configurados correctamente:

    Archivo launchSettings.json:

    • Verifica que las configuraciones en el archivo launchSettings.json sean correctas y que los endpoints de la API estén definidos correctamente.

    Configuración de Rutas en Program.cs:

    • Asegúrate de que las rutas de la API estén configuradas correctamente en el archivo Program.cs o Startup.cs.

    Verificación de Swagger

    Si Swagger aparece vacío, puede ser un indicativo de que los endpoints de la API no están siendo detectados:

    Configuración de Swagger:

    • Asegúrate de que Swagger esté configurado correctamente en tu proyecto. Aquí tienes un ejemplo básico de configuración:
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();
        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
        });
    }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.UseSwagger();
        app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"));
    
        app.UseRouting();
        app.UseAuthorization();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
    
    

    Verificación de Configuración de CORS

    Asegúrate de que CORS esté configurado correctamente para permitir las llamadas desde el frontend:

    Configuración de CORS:

    • Añade la configuración de CORS en Startup.cs o Program.cs:
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors(options =>
        {
            options.AddPolicy("AllowAllOrigins",
                builder =>
                {
                    builder.AllowAnyOrigin()
                           .AllowAnyMethod()
                           .AllowAnyHeader();
                });
        });
    
        services.AddControllers();
    }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.UseCors("AllowAllOrigins");
    
        app.UseRouting();
        app.UseAuthorization();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
    
    

    Referencias y Enlaces Útiles

    Para más información sobre cómo publicar una API ASP.NET Core, consulta los siguientes artículos:

    Espero que estos consejos ayuden a resolver el problema. Si necesitas más asistencia, estoy a tu disposición.

    Saludos,

    Jonathan


    Tu opinión es muy importante para nosotros. Si esta respuesta resolvió tu consulta, por favor haz clic en 'SÍ'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones. ¡Gracias por tu colaboración!

    0 comentarios No hay comentarios

  2. Albert Garcia 0 Puntos de reputación
    2025-04-08T08:15:29.7866667+00:00

    Buenas, disculpa la demora en responder se me habia pasado, alfinal consegui que funcionara configurando el como se tenia que publicar la aplicacion.

    Muchas gracias y un saludo!

    0 comentarios No hay comentarios

Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.