2016-06-06 2 views
2

저는이 섹션에서 사용할 수있는 도시를 가져와야하는 조직의 분류 된 섹션에서 작업하고 있습니다. 분류 된 도시는 도시의 하위 집합입니다. 따라서 도시를 가져 오려면 다음 API 경로를 만들었습니다.REST API 경로 결정 결정

api/classified/cities 

는 다음 나는 분류 도시는 도시의 부분 집합이기 때문에 URL이 나는 REST의 원칙에 따라 사용해야 위의 경로의

api/cities/classifiedcities 

어느 하나가 될 수 있습니다 실현?

+0

가능한 복제 http://stackoverflow.com/questions/35338868/which-naming-pattern-should-i-use-for-basic-crud/35339010#35339010 –

답변

2

, 정말 URI만큼 (처럼 보일 수있는 방법을 어떤 원칙이없는 REST 그것은 "진짜를 식별로 "자원!). It does however say은 클라이언트에 하드 코드 된 대신이어야합니다. 이것이 some people say URI가 중요하지 않은 이유입니다. 고객은 URI를 미리 알아야하는 대신 "발견"해야하기 때문에 중요하지 않습니다.

그렇다면 "/ 45ttfdfg/34tkfjdldf23wedkdfjsd"와 같은 URI를 모두 선택하지 않는 이유는 무엇입니까? 다시 한 번 개인적인 취향에 달려 있습니다. 인간이 URI를 "읽을 수있는"경우 유용합니다. 어떤 구조를 취하는 도구 (잘못 작성된 도구)가 있습니다. 예를 들어 "하위 리소스"(REST가 제공하지 않음)라는 개념과 같이 여러 가지 "REST"라이브러리 (서버 및 클라이언트)가 있습니다.

요약 : REST를 따르면 (당연히!) 클라이언트가 URI를 발견해야합니다. 그렇다면 개인적인 선호도 나 도서관/고객과의 기술적 제한이있을 수 있습니다. 그래서 당신이 선호하는 것을 선택하십시오, 그것에 대해 걱정하지 마십시오! 서버가 URI를 제어 할 수 있기 때문에 필요할 경우 나중에 수정할 수 있습니다.

1

하위 집합은 부모 집합을 따라야합니다 (첫 번째 해법이 너무 좋지 않음).

한 세 번째 방법은 쿼리 매개 변수를 통해 것입니다 : 당신이 REST 원리를 목표로하는 경우

api/cities?type=classified