我想知道在認證過程後加載RESTful對象的最佳做法是什麼。認證後加載RESTful對象
例如,我有一個應用程序,登錄後需要檢索人員,地點和其他與帳戶相關的信息列表。以下哪一項是最佳實踐?
A。應用程序調用後POST/API/V1 /登錄應該交回:
{
"token": "xxxxx.yyyyyyy.xzzzzzzzzz",
"persons": [
{"id": 1, "name": "John"},
{"id": 2, "name": "Paul"},
{"id": 3, "name": "George"},
{"id": 3, "name": "Ringo"}
],
"places": [
{"id": 1, "name": "London"},
{"id": 2, "name": "New York"},
],
"lastLogin": "2017-09-10 13:00:00"
}
這種方法似乎更容易的應用程序開發人員,因爲他們沒有撥打電話,以獲得獨立。但是,它似乎緊密結合在一起。
B。還是應該只返回
{
"token": "xxxxx.yyyyyyy.xzzzzzzzzz"
}
和應用程序應該使用例如分別加載其他數據,
GET /api/v1/persons
GET /api/v1/places
GET /api/v1/lastlogin
這種方法似乎是清潔的,但它可能是爲應用程序開發者更難。而且會有一些額外的請求開銷,特別是如果你加載了很多不同的模型。
C。或者,我是否應該只需要一個名爲/api/v1/loginWithData的電話,該電話將帶有數據的令牌和單獨的返回令牌的單獨一個/api/v1/login?這種方法有兩個最好的,但它似乎混亂的API名稱空間。
我真的很感激它,如果你可以發送鏈接,將解釋,所以我可以向他們學習。
我傾向於同意你的看法。但是,這是普遍的做法還是僅僅是爲了簡單? –
@aljof哪部分? – inf3rno
你在哪裏提到過:「我將使用POST/api/v1/auth鏈接,它提供了GET/api/v1/user/136」。我想我問的是爲什麼不讓POST的響應包含我的應用將使用的數據,而是讓應用使用另一個請求,獲取數據? –