2013-03-07 4 views
0

Team과 Players에서 RESTful API를 가지고 있다고 가정 해 봅니다.REST : "not in"쿼리를 관리하는 방법

나는 함께 특정 팀의 선수를 얻을 수 있습니다 : 좀 더 복잡한 querys을하고 싶습니다

GET /api/team/{team_id}/players 

,하지만 난 URI 설계를위한 가장 좋은 방법이다 모른다. 어떤 팀의 일부가 아닌

  1. 이 오기 플레이어 :

    은 특히 나는에 원한다.
  2. 특정 팀에 속하지 않은 플레이어를 확보하십시오.

가장 좋은 방법은 무엇입니까?

/api/team/{team_id}/players 

같은

답변

1

팀과 플레이어가 많은 관계를 갖고 있다면 개인적으로이 URI 디자인을 사용하지 않을 것입니다. 플레이어가 둘 이상의 팀을 위해 게임을 할 수 있다면 고유하지 않은 플레이어의 우르를 사용하게됩니다. 예를 들어 특정 플레이어가 대신 내가 조금 주위에 물건을 움직일 것입니다 모두 팀 5 팀 6, 그들은 다음의 URI (가정 팀과 선수 모두가 숫자 식별자)

/api/team/5/players/4 
/api/team/6/players/4 

모두에 의해 표현 될 수있는 재생 말 당신이 회원을 검색 할 수 있습니다 (일관성을 복수로)이 URI를 가진

/api/players/4 

그리고 각 팀 그리고

/api/teams/5 
/api/teams/6 

: 당신은이 URI와 플레이어를 나타낼 수 NOT 쿼리에서이

/api/players?team=5 

같은 팀의 해석에 열려있는,하지만 당신은 어떻게 장고 모델 필터 작업과 비슷한 무언가를 할 수 이러한 라인을 따라 붙는 쿼리 매개 변수를 소개 :

/api/players?team_ne=5 

선수 되지 않은 팀에서 당신은 몇 가지 옵션

/api/players?team= 
/api/players?team=none 

는 아마도 이들의 두 번째 덜 모호한

있다가
0

경로 구문에 allways team_id 정의가 필요합니다.

GET 매개 변수를 사용하여이 속성으로 필터링하십시오.