假設我們有以下服務器資源: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 2014-10-31 00:18:13
我會爲兩個不同的URS,因爲它完全符合REST,並且您要求兩種不同的資源,可以通過兩個不同的URI進行標識。 – 2014-10-31 00:20:16
@Centinul您可能想要緩存事件詳細信息和與會者列表。例如,如果事件詳細信息不會改變,但與會者列表可能會改變。 – moesef 2014-10-31 18:27:34