현재 두 버전으로 나뉘어져있는 WCF 웹 API가 있습니다. 첫 번째 버전은 api.mysite.com에서 실행됩니다. 두 번째는 현재 제작에 게시되지 않습니다.WCF 웹 API의 가장 좋은 방법은 무엇입니까?
첫 번째 버전에 대한 요청이 중단되지 않도록 두 번째 API를 게시하는 방법을 원합니다. 내 생각은 x-api-version
헤더를 추가하고 요청 된 API에 요청을 내부적으로 라우팅하는 것입니다. 어떤 헤더가없는 경우, 다음 버전 내가 버전을 구분하는 경로의 시작 부분에 /v1
또는 /v2
를 추가 고려 1. 기본적으로 같은 v1 또는 v2로 요청이처럼 보일 수도 :
http://api.mysite.com/v1/authentication/login
http://api.mysite.com/v2/auth/login
주의해야 할 점 버전이없는 요청이 작동해야하며 버전 1 (또는 내가 지정한 버전)이 기본값이어야합니다.
비록 이것이 나에게 좋은 것처럼 들리지만, 이것을 구현하는 데 권장되는 방법이 무엇인지 잘 모르겠습니다. 나는 항상 일종의 리버스 프록시를 할 수 있다는 것을 알고 있지만, 내 솔루션이 프로그램적인 것이 될 수 있기를 바라고있다. 서버 측에서 필요한 구성이 적 으면 적을수록 좋습니다. 누구든지 아이디어가 있거나 블로그/자습서에 대한 링크가 있다면 환상적 일 것입니다.
미리 감사드립니다.
Google이 ** v = 1.0 ** http : //ajax.googleapis.com/ajax/services/search/web? v = 1.0 & rsz = 8 & q = stackoverflow'를 수행하는 방법입니다. –
'버전 헤더'와 '버전 URI'를 비슷한 방식으로 사용하고 있습니다. URI에 넣으면 개발자에게 매우 도움이됩니다. 브라우저를 통해 서비스를 실험해볼 수 있습니다. 또한 현재 '활성'버전으로 리디렉션되는 '무 버전 URI'를 지원합니다 (일반적으로 최신 버전이지만 새 버전을 준비하지만 공개적으로 활성화하지 않는 시나리오가있을 수 있습니다). 그것은 당신의 기준에 달려 있습니다. – Adam
구현 세부 사항을 살펴본 후 기술적 인 편의로 인해 URI 접근 방식에 더 신경 써야한다고 생각합니다.그러나 현재 API의 클라이언트를 손상시키지 않는 원래 요구 사항을 충족하면서이 접근 방식을 사용할 수 있다고 생각합니다. –