2017-09-11 56 views
0

Facebook有一個API,讓您的照片:如果Facebook的圖形API是寧靜

​​

/我/是登錄的人的ID的快捷方式,引入狀態到會話中,因此它寧靜嗎?

這豈不是更舒適的事:

/user/1234/photos 

,然後有一定的安全層,以確保只有用戶提供相應的令牌可以訪問網址是什麼?

https://developers.facebook.com/docs/graph-api/using-graph-api

注意到其他一些地方使用這種模式。例如:

條紋爲讓所有的優惠券做到這一點:

GET https://api.stripe.com/v1/coupons 

貝寶支付所有這樣做:

GET /v1/payments/payment 

+1

/我與誰可以訪問什麼無關。這只是一條捷徑。 – CBroe

回答

3

GraphQL是不是平安,我試圖總結這起來here

/me不一定會引入狀態,因爲me的ID可能在標頭中,所以服務器端可能仍是無狀態的。

是引入狀態進入會話,因此它是 寧靜?

事實上無國籍一個休息的約束,所以你將不得不重組你的問題「......因此它寧靜」

但REST在很大程度上依賴於URI的,所以這條捷徑規避在URI中是透明的,根據寧靜原則,什麼不是最好的想法。

1

REST是提供計算機系統之間互操作性的概念/方法/方法。

休息不是一個標準,由一個委員會/組織根據嚴格的規定批准。

雖然有結構約束,建議,不成文的規則,共同解決,你無法真正確認這個是休息或本不是休息。每個人都在設計自己的服務,因爲他認爲它更好。

圖形API不完全是REST,它們有點不同的東西/意義。

相關FB /me他們說:

的/我的節點是一個特殊的端點轉化到 的人USER_ID(或Facebook頁面的PAGE_ID),其訪問令牌是 目前正在用於進行API調用。

由於此URI依賴於已通過身份驗證的用戶,因此它有什麼問題?

相關的貝寶,我覺得你preffer /v1/payments/payment代替/v1/payments/35/payment,但部署到其他客戶相同的應用程序將是/v1/payments/69/payment或類似/v1/user/35/logout註銷。

這都是爲了方便。