Solucionar CORS en Spring

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.

Permitiendo peticiones externas

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.