2013-07-23 2 views
0

환자 및 의사를위한 앱이 있다고 가정 해 보겠습니다.안정적인 API 엔드 포인트 및 차이 권한/능력

환자는 'site.com/api/patients/'에서 정보에 액세스 할 수 있어야합니다.

의사는 환자에 관한 정보에도 액세스 할 수 있어야하지만 환자와 다른 정보를 받아야합니다.

나는이 처리의 두 가지 방법으로 상상할 수

: 다른 권한 환자에 대한 정보를 얻고 의사에 대한

또는

api/patients 환자 및 api/doctors/patients을 사이에 분할 논리

api/patients

비교적 괜찮은 것 같지만 의사와 환자 c가 모두있을 때 어떻게되는지 생각하기 시작했습니다. 환자를위한 작업 추가.

api/patients/tasks/ 환자가

은 단순히 더 나은 것입니다 (나는 내 ​​경로의 깊이를 제한하는 것이 더 좋을 수도 생각) 작업하지만 중첩이 간다까지로 아주 나쁜 얻을 api/doctors/patients/tasks을 추가 할 수

api/patients 사용자가 의사인지 환자인지 또는 리소스를 중첩하는지 여부를 확인하십시오. 모범 사례 (있을 경우)에 대한 합의는 무엇입니까? 토큰 또는 쿼리 문자열을 한 후 간단한 일 및 제어 권한/인증을 유지

api/tasks/ api/patients api/doctors/

:

이 같은 API 엔드 포인트가 좋을 것이다.

답변

1

확실히 등, API/의사/환자를하지 않는다

이 두 개의 서로 다른 API를, 의사 용 및 환자에 대한 하나할까요? 기능의 중복 정도에 따라 다릅니다.

어떤 경우에도 사용자의 인증/권한 부여 정보를 추적해야합니다. 그렇지 않으면 의사는 환자에게 가지 않는 환자를 수정하게됩니다. 인증 정보를 사용하여 호출자가 지원하는 값/옵션을 결정하십시오.

Dr. Bob의 토큰/쿼리 문자열을 복사하고 내 요청을 보내는 경우를 처리한다고 가정합니다.

+0

재배치에 감사드립니다. 두 개의 다른 API가 실제로 많은 의미를가집니다. 명명 스키마에 관한 모든 권장 사항은 무엇입니까? 또한 마지막 질문으로 정확히 무엇을 의미합니까? API에 대한 인증은 여전히 ​​나에게 혼란 스럽습니다. – Squadrons

+0

명명 스키마 - 사실에 대해 더 많이 알지 못해도 실제로 말할 수 없었습니다. :-(인증은 로그인하거나 토큰을 사용하여 누군가가 자신의 신원을 증명하게하고 있습니다. 인증은 누군가가하려는 일을 수행 할 수있는 권한이 있는지 확인하는 것입니다. 따라서 로그온 할 때 인증합니다. 나는 다른 사람의 개인 정보를 보려고하는데, 그렇게 할 수있는 권한이 없습니다. –