我需要定義一個REST API,它應該採用對象的唯一標識符並返回內容。內容從數據庫中檢索並且是JSON類型的。 所以,我有一個REST URL這樣的 -只用REST GET API檢索特定的屬性
GET /data/{typename}/{objectid}
這將返回整個對象的內容。
但是,對象的內容可能很大,因此調用者可能只想指定一些或幾個要發送的屬性作爲響應。 我想到的自然思想是將GET BODY添加到GET API,用戶可以在該API上指定要檢索的對象上的屬性名稱列表。 但是在做進一步的研究時,似乎不推薦使用BODY的GET API。 ,我能想到的另一種選擇是通過查詢字符串中的屬性名稱 -
GET /data/{typename}/{objectid}?property=prop1&property=prop2...
不過這個名單可以很容易地變大。
任何有關我的API應該如何的建議?我必須使用POST嗎?
排除屬性會使URL更短嗎?例如'?excludes = thisProp,thatProp,anotherProp'? – sp00m
[RESTful API可能重複,如果查詢字符串不夠長?](http://stackoverflow.com/questions/41741356/restful-api-what-if-the-query-string-isnt-long -enough) – sp00m
這裏關心的不是查詢字符串的長度。關心的是瞭解如何傳遞會影響GET API響應的附加參數。 – tyrion