Como ya explicamos en nuestro artículo sobre SOLUCIONAR CORS EN LARAVEL, este error se dá cuando se hacen peticiones desde una dirección diferente a donde se encuentra nuestro backend. Para solucionar esto, debemos añadir en nuestros controladores la dirección a la que queremos dar permisos para poder hacer las peticiones a spring.
Nos dirigimos al controlador deseado para dar permisos de peticiones externas y únicamente lo que debemos añadir es la anotacion CrossOrigin, donde definiremos la dirección a la que dar permisos y a qué métodos (POST, GET, PUT, DELETE)
Podemos ser restrictivos y añadir una dirección especifica o directamente un * para dar permisos a todas las direcciones.
Éste sería un ejemplo de como quedaría nuestro código en un controlador:
package com.nigmacode.rest;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
@RestController
@CrossOrigin(origins = "*", methods= {RequestMethod.GET,RequestMethod.PUT,RequestMethod.POST})
public class ExampleControlelr {
@GetMapping("/hello")
public String hello() {
return "Hi";
}
}
De ésta forma tan rápida permitiriamos a todas las direcciones hacer uso de nuestro backend, obviamente, lo recomendado es poner las direcciones exactas a las que queremos dar acceso.