2014-10-29 1 views
0

나는 다음과 같은 문장을 발견Apigee는 : apigee의 가장 좋은 방법은 문서에서 재귀 서비스 콜 아웃

이 같은 API 로 다시 재귀 콜 아웃을 포함, 같은 조직의 다른 API 프록시에 ServiceCallouts하지 마십시오

대리.

API 프록시에서 재귀 콜 아웃을 사용하면 안되는 이유는 무엇입니까? 성능에 관한 한 가지 주장 만 발견했습니다.

내 케이스 :토큰이 있는지 확인한 다음 (새 토큰을 작성하지 않은 경우) - URL에 서비스 콜 아웃을 작성하고 올바른 http 코드 또는 400 http 코드를 수신합니다 (이것은 토큰이 만료되었지만 거기에있었습니다). 사용자는 토큰이 만료되었음을 알지 못합니다. URL에 대한 서비스 콜 아웃 이전에 그의 토큰이 만료되었는지는 확인할 수 없습니다. 따라서 이미 토큰이 있는지 여부 만 알 수 있습니다. 토큰이없고 우리가 토큰을 생성하는 경우 서비스 설명 선은 항상 200 http 상태 코드로 작동합니다. 그러나 토큰이 유효하지 않은 경우 요청을 다시 서비스 콜 아웃으로 보내야합니다. 가장 좋은 방법은 재귀 적입니다. 응답에서 기존의 만료 된 토큰을 삭제하고 전체 프로세스를 다시 시작할 수 있습니다. 내가 어떻게 든 이해 될 수있는 희망

...

답변

0

여기 진짜 문제는 다시 정확히 동일 서비스에 대한 호출하는 경우 당신이 무한 루프를 만들 수 있음을 유지하는 장소에 어떤 모델이 현재 없다는 것입니다 API가 반복적으로 돌아 오는 것을 막을 수 있습니다. 이로 인해 조직 전체가 충돌 할 수 있습니다.

관련 문제