1

많은 bar이 포함 된 REST 리소스 foo이 있으며 각 리소스에는 baz이 많이 포함되어 있습니다. 이 세 자원 모두 고유 한 ID를 가지고 있지만 barfoo의 컨텍스트가없는 한 의미가 없습니다.자원 ID가 RESTful 하위 자원 종점에 포함되어야합니까?

GET {api}\foo         // Returns an array of foos 
GET {api}\foo\{fooId}       // Returns a foo 
GET {api}\foo\{fooId}\bar      // An array of bars belonging to this foo 
GET {api}\foo\{fooId}\bar\{barId}    // Returns a bar 
GET {api}\foo\{fooId}\bar\{barId}\baz   // An array of bazs belonging to this bar 
GET {api}\foo\{fooId}\bar\{barId}\baz\{bazId} // Returns a baz 

푸 모델이 줄 자원들을 포함하지 않는,하지만, 바 모델은 모든 bazs가 포함

는 현재 엔드 포인트의 디자인은 (이 모두 필요) 다음과 같다.

고유 ID이므로 모든 ID를 포함해야하는 것은 어렵습니다 (특정 바에만 관심이있는 경우 부모 foo도 알고 있어야하기 때문에 다음과 같이 수정해야합니다). :.?

GET {api}\foo         // Returns an array of foos 
GET {api}\foo\{fooId}       // Returns a foo 
GET {api}\foo\{fooId}\bar      // An array of bars belonging to this foo 
GET {api}\foo\bar\{barId}      // Returns a bar 
GET {api}\foo\bar\{barId}\baz     // An array of bazs belonging to this bar 
GET {api}\foo\bar\baz\{bazId}     // Returns a baz 

나는 문서 고유 식별자와 하위 자원의 엔드 포인트에 대한 어떤 편안하고 규칙을 설명을 찾을 수없는이 두 가지 옵션 중 가장 적합한 아니면 내가 고려하지 않은 세 번째 대안이

답변