Скажем, у нас есть следующий ресурс сервера:REST API с помощью GET Params
api.example.com/event/1
который возвращает некоторый произвольный ресурс, скажем:
{
id: 1,
details: {
type: 'webinar',
....
},
attendees: [
{
user_id: 1,
first_name: 'Bob'
...
},
...
]
}
Это может быть полезным для клиента, чтобы сделать запрос получите только информацию о событии, но не список участников.
Лучше ли предоставить два отдельных URL-адреса ресурсам и заставить два отдельных запроса, если клиент хочет оба ресурса?
api.example.com/event/{event_id}
api.example.com/attendees/{event_id}
Или лучше предложить те же две конечные точки, но необязательно иметь первую одну опору в GET параметров для переключения посетителю листинг включения или выключения
api.example.com/event/{event_id}?listAttendees={true|false}
api.example.com/attendees/{event_id}
Если параметр listAttendees
либо иметь представление возвращает список участников или нет.
Общепринятой практикой является позволить параметрам GET изменять представление, возвращаемое с определенного URL-адреса?
Был ли клиент когда-либо нужен только список участников без сведений о мероприятии? – Centinul
Я бы выбрал два разных URS, которые полностью совпадают с REST, и вы запрашиваете два разных ресурса, которые могут быть идентифицированы двумя разными URI. –
@Centinul, вы можете захотеть кэшировать сведения о мероприятии и список посетителей по-разному. Если, например, информация о мероприятии не изменится, но список участников может. – moesef