2012-09-04 76 views
0

在REST API中,認證後用戶收到一個AccessToken,然後將其與每個請求一起發送。在服務器端,令牌被映射到該用戶的用戶ID。REST - 保持「相同的結果」與用戶特定的結果

比方說,我解決了信息資源是這樣的:

GET /user/123/messages 

與訪問它以這樣的方式

GET /messages/ 

,並從的accessToken頭拉用戶名。

哪種方式更加RESTful?我傾向於第一個 - 它看起來更具可讀性和可擦除性,但是還有其他原因嗎?

回答

1

第一個標識一個唯一的資源,第二個沒有。如果第二個URI的含義取決於附加信息(會話標記),它不會識別任何內容。所以只有第一種方法是RESTful。

0

如果用戶456讓你第一次得到....你會返回什麼?如果你的第二....?我發現我的世界「恢復」,我的服務對每個用戶來說都是冪等的。一旦認證發生,我把用戶身份放入http會話(tomcat給我免費)並使用/ messages和/ messages/99999等服務。服務impl然後說:「找到用戶擁有的消息XXXX會話中的重要部分是不保存會話中的其餘數據,只是用戶是誰更容易,然後cookie ...更容易

+0

REST應該是無國籍,所以你不應該使用會話。 – doque