더북(TheBook)

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 파일에서 찾을 수 있다.

https://youtu.be/k2AgSqqW1XE

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.