2013-11-23 3 views
0

안녕하세요 다음 API 컨트롤러가 : 위의 다음하는 API 버전 관리 시스템을 구현

buy 
list 
delete 
edit 

누군가가 http://example.com/v3/buy/에 갈 수있는 API 함수 및 액세스 API 함수와

v3 

합니다. 나는 확실히 올바른 PARAMS이 전달됩니다 확인하기 위해 API 함수를 호출하기 전에

는 또한 V3 컨트롤러에서 확인 매개 변수 않습니다.

을 나는 이전 버전과 호환되지 않는 변경 사항을 적용하고있다. 버전 관리를 올바르게 구현하는 가장 좋은 방법은 무엇입니까? 나는 다음과 같은 일에 대해 생각했다

: 컨트롤러에

buy_v1 
buy_v2 

같이 각 버전에 대한 각각의 기능을 가진 별도의 기능을 모델 기능의 응답을 반환합니다.

답변

1

단순히 v4라는 새 컨트롤러를 만듭니다. 당신은 당신의 메소드를 헬퍼 클래스 (또는 수퍼 클래스)로 추상화하고 각각의 다른 메소드에 대해 코드의 한 버전만을 유지할 수 있습니다. 견고한 코드 재사용을 제공합니다.

+0

버전 수가 많을 수 있습니다. 20 개의 새 버전처럼. –

+0

거꾸로 호환되지 않는 새로운 기능을 구현하는 경우에만 새 컨트롤러를 추가해야하며 이전 클래스를 재정 의하여해야합니다. 새 버전의 메소드가 오버로드 된 함수처럼 작동하도록 설계된 경우 모든 다른 가능성을 동일한 끝점에 매핑 한 다음 올바른 값 집합을 확인하십시오. –