Из весенней документации https://spring.io/guides/gs/rest-service-cors/
Включение CORS
Контроллерная конфигурация CORS
Чтобы веб-служба RESTful включала заголовки контроля доступа CORS в свой ответ, вам просто нужно добавить аннотацию @CrossOrigin к методу-обработчику:
@RestController
public class GreetingController {
@CrossOrigin(origins = "http://localhost:9000")
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(required=false, defaultValue="World") String name) {
System.out.println("==== in greeting ====");
return new Greeting(counter.incrementAndGet(),String.format(template, name));
}
Эта аннотация @CrossOrigin разрешает запросы из разных источников только для этого конкретного метода. По умолчанию он разрешает все источники, все заголовки, методы HTTP, указанные в аннотации @RequestMapping, и maxAge 30 минут. Вы можете настроить это поведение, указав значение одного из атрибутов аннотации: происхождение, методы, allowHeaders ,posedHeaders, allowCredentials или maxAge. В этом примере мы только разрешаем http://localhost:9000 отправлять запросы из разных источников.
также возможно добавить эту аннотацию также на уровне класса контроллера, чтобы включить CORS во всех методах-обработчиках этого класса.