기본적으로 Tomcat(Spring 포함) 서버는 보안을 위해 서로 다른 도메인 간 Ajax 요청을 허용하지 않는다. 이를 Cross-domain 문제라고 하며, 가장 많이 알려져 있는 방법은 web.xml에 cors 필터를 추가해 origin을 허용하는 것이다.
근데 가끔씩은.... web.xml이 없는 rest API 서버도 있어서, 자바 소스코드 만으로 해결할 수 있는 방법을 남겨두려고 한다. (클라이언트 단에서 이를 해결하는 방법도 있지만, 일반적으로 Ajax 요청을 받는 서버 단에서 이를 해결할 수 있도록 필터링하는 것이 일반적이다.
즉, 당연한 이야기지만서도.. 아래의 해결 방법들은 모두 Ajax Call을 날리는 클라이언트가 아닌, 요청을 받는 Java 서버 단에서 설정해야 한다.)
첫 번째 해결 방법은 RestController 클래스에 CrossOrigin 어노테이션을 추가하는 것이다. 간단하다.
그런데 이상하게도, POST, DELETE, PUT에 대해서는 잘 동작...