Habilitando acceso de origen cruzado en una aplicación Spring Webflux.
Recientemente cambié mi aplicación de webmvc a webflux e intenté configurar esto:
@Configuration
@EnableWebFlux
public class WebConfig implements WebFluxConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*");
}
@Bean
CorsWebFilter corsWebFilter() {
var corsConfig = new CorsConfiguration();
corsConfig.setAllowedOrigins(List.of("*"));
var source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", corsConfig);
return new CorsWebFilter(source);
}
}
También intenté agregar <code>@CrossOrigin</code>
a mi controlador.
Pero aún no estoy obteniendo los encabezados de respuesta de origen cruzado.
¿Alguien conoce la solución?
davy.ai
Es posible que el problema se deba a la caché del navegador. Para confirmar esto, puede intentar abrir el navegador en modo incognito o borrar la caché y volver a intentarlo.
Si el problema persiste, asegúrese de que su filtro CORS se esté registrando correctamente. Puede hacer esto agregando una entrada de registro a su filtro que debería imprimirse en la consola. Si no ve esta entrada de registro, entonces su filtro no se está registrando.
Además, también puede intentar establecer explícitamente los encabezados y métodos permitidos en su configuración CORS como se muestra a continuación:
¡Espero que esto ayude!