2014-08-30 4 views
2

저는 RESTful Architecture를 처음 사용하고 Jersey를 사용하여 연습하고 있습니다. 나는 클라이언트 측을 설계 그러나 동안REST GET 디자인 문제

클라이언트가 특정 ID가 있는지에 속하는 것을 알고 얼마나 http://www.example.com/customers/33245

를 얻는 것 서버에서 특정 고객을 얻기를 위해 명명 REST/URL 규칙을 operation.following GET를 구현하는 어려움에 직면하고있다 특정 클라이언트는 서버와 링크 된 데이터베이스에 있고 클라이언트에서 숨겨져 있기 때문입니다. 내가 생각하는 한 가지 구현은 클라이언트의 모든 고객에 관한 모든 정보를 추출하여 클라이언트에 저장하는 것이지만 전체 목적을 죽이는 것으로 생각됩니다. 특정 고객을 검색하기위한 최적의 방법이어야합니다.

답변

3

이러한 URL은 이미 알고있는 고객을 확보하는 데 사용됩니다. 고객을 검색하는 것이 아닙니다. 고객 검색을위한

, 당신은 일반적으로이 신원 미상라는 이름의 모든 고객을 나열합니다

http://www.example.com/customers?name=Doe&firstname=John 

같은 URL을 사용하고, 목록, 모든 고객을 위해, 발견 고객의 ID를 포함하는 것입니다. 클라이언트는이 ID를 사용하여 질문에있는 URL을 호출하고이 고객에 대한 자세한 정보를 얻습니다.

원하는 쿼리 기준을 사용하거나 다른 방법으로 고객에게 액세스 할 수 있습니다.

당신이 그것에 대해 생각한다면 그것은 정확하게 웹 검색 방법입니다. 당신은 페이지의 URL을 모른다. 구글의 키워드로이 페이지를 검색한다. 구글의 키워드로 제목, 설명, URL이 들어간 결과 목록을 반환한다. 그런 다음 URL을 사용하여 페이지에 실제로 액세스한다.

+0

ID 목록 대신 John Doe라는 각 고객에게 URL 목록을 반환하는 것이 더 좋습니다. 그런 식으로 클라이언트는 URL을 생성 할 필요조차 없습니다. 서버가 만든 URL을 사용하기 만하면됩니다. – shieldstroy