Nice programing

날짜 범위가있는 적절한 REST 형식 URL

nicepro 2020. 12. 25. 22:58
반응형

날짜 범위가있는 적절한 REST 형식 URL


모든 사용자를 다음과 같은 형식으로 지정하는 REST URL이 있습니다. http://example.com/users

ID로 개별 사용자를 얻으려면 : http://example.com/users/12345

모든 사용자의 입찰가를 얻으려면 : http://example.com/users/12345/bids

두 날짜 사이에 모든 사용자의 입찰가를 얻으려면 : http://example.com/users/12345/bids/?start=01/01/2012&end=01/31/2012

또는 다음과 같아야합니다. http://example.com/users/12345/bids/start/01012012/end/01312012

시작과 끝이 도메인의 엔티티가 아니기 때문에 첫 번째 기간 URL을 선호합니다. 날짜 범위로 REST URL을 형식화하는 올바른 방법은 무엇입니까?

감사,


http://example.com/users/12345/bids?start=01-01-2012&end=01-31-2012

검색어 매개 변수가 입찰가와 동일한 '수준'에 있어야합니다 (물음표 앞의 슬래시 제거). 그러나 하나의 쿼리 매개 변수 만 제공하는 경우 지원을 원할 것입니다. 따라서 "시작"만 제공하면 해당 날짜 이후의 모든 입찰을 받거나 "종료"만 제공 한 경우 해당 날짜 이전의 모든 입찰을 받게됩니다.

그 이유는 쿼리 매개 변수가 GET 요청에서 결과의 하위 집합을 가져 오는 데 유용하기 때문입니다. 다음 레벨은 일반적으로 고유 식별자를 가진 하나의 특정 항목이기 때문에 다른 레벨로 이동하지 않습니다.


나는 함께 갈 것이다 http://example.com/users/12345/bids?start=2012-01-01&end=2012-01-31.

  • 쿼리 문자열 앞에 슬래시가 없어야합니다.
  • 쿼리 문자열에 슬래시를 사용하지 마십시오. 그렇게하면 더 쉬울 것입니다.

example.com/users/12345가 ID가 12345 인 사용자를 가져 오는 경우 ID로 모든 사용자를 가져 오려면 응답에 관계로 포함 된 ID가있는 example.com/users 여야합니다. (일반적으로 해당 리소스에 대한 하이퍼 링크).

이제 날짜 범위로 가져 오려면 example.com/users/start=01-01-2012&end=01-31-2012 여야합니다.

12345 부분은 개별 사용자의 ID이며 리소스이므로 나머지 사용자를 가져 오기 위해 포함해서는 안됩니다.

매개 변수의 이름으로 의미가 있어야합니다. start는 무엇이든 의미 할 수 있지만 start_date는 더 의미가 있습니다.

참조 URL : https://stackoverflow.com/questions/9637297/proper-rest-formatted-url-with-date-ranges

반응형