2017-11-24 22 views
-4

한 나라에서 판매되는 일부 상품 목록이 포함 된 JSON을 반환하는 REST API를 구현 중입니다.유효한 REST API URL입니까?

URL의이 종류는 pourpose에 좋은 자원 액세스에 RESTfull와 원칙을 공급하면 내가 물어 오전 :

1 국가 ID입니다
http://XXX.YYY.ZZZ:RRR/country/1/commodities 

.

좋은 해결책이 될 수 있습니까? 아니면 뭔가 변경해야합니까?

+0

이 URI는'some-protocol : // some.server.pld/djo/bah/eno'와 마찬가지로 'RESTful'이며 실제 REST 클라이언트는 URI가 어떻게 구성되어 있는지 또는 의미가 무엇인지 신경 쓰지 않습니다. 아르. 클라이언트는 반환 된 URI의 의미를 문서가 반환 된 미디어 유형의 관계 이름을 통해 조회해야하므로 해당 URI를 호출할지 여부를 결정해야합니다. 다른 것은 클라이언트를 API에 연결하기 만하면 REST의 의미를 무의미하게 만듭니다. REST는 URI 디자인에 전혀 영향을 미치지 않으므로 URI 디자인에 대한 답변은 다소 개인적인 취향입니다 –

+0

여기에 대한 대답은 불행히도 : 그것은 아마도 ... 아마도 ...? 본질적으로 접근 방법에 대해 안심할 수는 없지만 응용 프로그램의 큰 맥락에서 상품 리소스를 사용하는 방법에 따라 다릅니다. – bryan60

답변

1

URL 자체를 RESTful 한 것으로 간주 할 수 없습니다. 일반적인 관행에 따라


, 당신은 (주어진 식별자로 단일 국가 매핑)과 /countries/{id} (A 국가의 수집을 매핑하는) /countries이 있어야합니다.

하지만이 규칙을 적용해도 RESTful 애플리케이션이 될 수는 없습니다.

+0

아니요 특정 국가와 관련된 상품이 있습니다 – AndreaNobili

+1

@AndreaNobili 그런 다음 URL의 의미에 대해 잘 모릅니다. 일반적인 관행에 따라'/ countries' (국가 콜렉션을 맵핑 함)와'/ countries/{id}'(주어진 식별자로 단일 국가를 맵핑 함)를 가질 수 있습니다. –

+0

@AndreaNobili : 관련 레코드를 얻기 위해 제안한 방식대로 데이터를 깊이 파고 드는 것이 좋습니다. 그러나 이전처럼 REST 정의에있는 URL에 대한 규칙이 실제로 존재하지 않는 경우가 아니라면 동일한 URL은 항상 동일한 리소스와 상태를 반환해야합니다. 최고의 모범 사례도 하나도 없습니다. 많은 접근법 (그리고 그에 대한 많은 논증)이 있습니다. 나는 당신의 접근 방식이 깨끗하고 실행 가능하다고 생각합니다. 물론 일반적으로 사용되는 패턴을 고수하는 것이 좋습니다. –