作爲服務器REST API設計的一部分我正在考慮我希望能夠返回以客戶端授權級別爲條件的數據。建議完成此操作的方式並將其稱爲一個API?更具體地講,考慮下面的例子一本書訪問API:授權相關的REST API
HTTP GET /library/books/{book-name}
任何驗證的客戶端應該能夠獲得(JSON)數據的書,如:
{ 「書」 : {「書的名字」:「ABC」,「作家」:「某人」}}
但具體的子集驗證客戶端也應該能夠獲得:
{ 「書」: { 「書的名字」: 「ABC」, 「作家」: 「一個人」}, 「私人信息」: { 「本書狀態」: 「對貸款」 ,「價格」:「$ 20」} }
對於給定的書,任何合適的授權客戶端也可以通過直接的HTTP訪問「私人信息」 GET /庫/書籍/ {書籍名稱} /私人信息。
現在,假設有一個合適的客戶端身份驗證方案,我不禁想到上面的HTTP GET/library/books/{book-name}實際上看起來像兩個API,通過服務器上的授權狀態進行區分關於認證。這似乎不是很RESTful。
也許最好讓所有的基本GET書API都沒有任何「私人信息」,同時讓授權的客戶端只能訪問私人信息URI並將403返回給所有其他人?
這種類型的條件數據訪問通常如何使用REST API進行處理?
謝謝,這是非常有用的 – void4