33.7 | CORS
Web API로 JSON 데이터를 만들어 사용할 때는 기본적으로 같은 프로젝트 내에서 호출해서 사용할 수 있다. 만약 모든 사용자에게 JSON 데이터를 보내려면 Web API 프로젝트에 CORS(Cross Origin Resource Sharing) 기능을 설정해야 한다.
웹 프로젝트의 특정 Web API 또는 전체 Web API에 같은 프로젝트가 아닌 외부에서도 접근해 사용하도록 설정하려면 프로젝트 루트에 있는 Startup.cs 파일의 Configure 메서드에 다음과 같은 스타일로 코드가 입력되어야 한다. 첫 번째 구문의 URL은 실제로 CORS를 적용할 Web API URL이 들어오는 곳이다. 다음 코드의 두 번째 구문만 넣어 놓으면 현재 웹 프로젝트의 모든 Web API는 다른 웹 사이트에서 JSON 데이터를 그대로 가져다 쓸 수 있도록 설정해준다.
▼ Startup.cs 파일의 Configure( ) 메서드의 코드 일부
// [!] CORS app.UseCors(options => options.WithOrigins( "http://dotnetnote.azurewebsites.net/api/values")); app.UseCors( options => options.AllowAnyOrigin().WithMethods("GET"));
CORS 설명은 ‘Web API에 CORS(Cross Origin Resource Sharing) 설정’이라는 제목의 동영상 강좌 로도 준비했으니 참고하기 바란다. 이 내용과 관련된 소스는 DotNetNote 프로젝트의 Controllers 폴더의 ApiHelloWorldWithValueController.cs 파일에서 찾을 수 있다.