2010-06-26 1 views
0

REST (내 생각에 거의 wikipedia page으로 제한)는 GET 컬렉션의 관용구가 ../resource/이고 항목이 ../resource/itemId 인 것입니다.하위 컬렉션의 REST 관용구?

GET 하위 모음에 대한 표준 관용법이 있습니까? 예를 들어, 컬렉션의 항목이 일부 토글 상태 (상태 : A, B, C, D)인데 상태가 B 인 항목을 요청할 수 있도록하려면 표준/공통/가장 실용적인 방법이 있습니까? 그렇지 않으면

, 나는 현재 다음 구문 옵션 하구 해요 :

../resource/B

../resource/state/B

../resource?state=B

당신이 그 어떤 장점/단점을 볼 수 있습니까?

답변

1

당신은 (두 개 이상을 받고있어 이후) 정확하게 당신이 원하는 것을 설명하기 때문에

../resources?state=B

복수를 제외하고, 거기에 세 번째를 사용하고 싶습니다. 특정 상태의 리소스를 보내고 있습니다 (GET).

../resource/B

는 고유 B으로 식별 고유 당신이, 자원 state을 받고 resource에 속하는하고 나타냅니다 B

../resource/state/B

에 의해 식별되는 특정 리소스를 받고있어 나타냅니다.

제한된 수의 상태를 처리하는 대신 리소스를 단독으로 상태를 만들고 해당 상태의 하위 리소스로 만들 수 있습니다. 그럼 당신은 실제로 당신이 자원의 이름을 방법에 대해 아무 말도하지

states/B/resources

+1

당신은 복수화에 대해 자세히 설명 할 수 있습니까? 관용구는 모든 데이터에 대해'../ resource /', 특정 데이터에 대해서는'../ resource/id' 인 것처럼 보이지만 나중에는 ../resources /'가되어야한다고 말합니다. – Carl

+0

나는 그것이 선호의 문제라고 생각한다. Ruby on Rails가 구현하는 방식은 항상 복수형입니다. '/ resources'는 모든 자원의 목록이 될 것이고'/ resources/12'는 자원을 유일한 식별자 12로 보여줄 것입니다 –

0

나머지 제약이있다. REST는 리소스에 이름이 있어야한다고 말합니다.

제이미의 대답은 아마도 가장 확실한 방법 일 것입니다. 이름 지정 URL을 이름 지정 프로 시저와 비교할 수 있습니다. 올바른 방법과 잘못된 방법이 없으며 일부 이름 만 다른 이름보다 분명합니다.