솔루션을 재사용하고 유연하게 만들기 위해 "필터"쿼리 매개 변수를 구현하는 것이 좋습니다. 거기에서, 클라이언트에 필요한 필드를 넣을 수 있습니다 :
GET /customers/123?fields=id,first_name,last_name,email
을 그런 식으로 나중에 다른 작업에 대한 다른 요약을 작성해야하는 경우, 당신은 수정 아무것도 할 수 없습니다.
유연하지 않기 때문에 /customers/123/summary
을 권장하지 않습니다. 하나의 경우에는 괜찮지 만 클라이언트가 다른 사례에 대해 다른 속성에 액세스해야하는 경우 리소스를 조정해야합니다 (필요한 것보다 많은 필드를 반환 할 가능성이 큽니다).
GET /customers/123?view=DESCRIPTION
는 "DESCRIPTION
은"요약의 유형을 설명합니다 : 당신은 필드 이름을 "숨기기"할 경우, 아마도 대안은 다음과 같이 될 수 있습니다. 예 :
GET /customers/123?view=addresses_only // eg. returns billing and home address
GET /customers/123?view=short // eg. returns only id, first name, last name
새보기를 쉽게 만들 수 있으므로 유연합니다.
제안에 감사 드리며 유연한 방법을 알 수 있습니다. 이 접근 방식에 대한 한 가지 우려는 고객이 고객 리소스에 사용할 수있는 필드를 알고 있다고 가정한다는 것입니다. – BobJ
두 경우 모두/summary 또는 /? field = ... 여부와 상관없이 클라이언트와 URL을 공유해야합니다. 사용자가 직접 URL을 제공하면 사용 가능한 필드를 알 필요가 없습니다. 내 게시물을 다른 가능한 해결책으로 업데이트했습니다. –
덕분에 나는 좋아? view = short approach – BobJ