我有一個基於提供的身份驗證(登錄)提供帳戶資源的API。由於用戶只能擁有一個帳戶,並且只能看到自己的帳戶,而不能看到其他帳戶,所以這個API在所有情況下基本上都是單個資源API。擁有基於身份驗證的單個資源的RESTful方式
爲了簡單起見,我在accounts/
的網址下有這個資源,當你訪問accounts/?username=dude&password=veryhard
時,你會得到你的賬戶數據(如果你沒有提供認證,你將得到403)。
現在我想知道這是否是RESTful。此外,您應該能夠更新您的帳戶信息,並且我懷疑PUT是否合適。據我所知,PUT應該在資源的唯一URI上完成。那麼,這是資源的唯一URI嗎?通常,帳戶的URI看起來像accounts/3515/
,其中3515
是帳戶ID。但是,用戶不知道他們的賬戶ID。另外,應該有更多的登錄方式,而不是用戶名+密碼,您還應該可以使用令牌(如accounts/?token=d3r90jfhda139hg
)。那麼我們得到了2個指向相同資源的URL,這對於RESTful URI來說也不是很漂亮,是嗎?
那麼,什麼是最RESTful解決方案?或者我不應該這樣做RESTful?
您提出了4個問題,我建議您發佈一個問題,以便我可以用簡潔有用的方式回覆。 – dendini
@dendini這4個問題都具有相同的上下文,我不喜歡創建多個問題並且不得不爲每個問題解釋相同的故事。另外一個答案可能會使其他問題過時。如果你喜歡,你只能回答一個問題。如果那能幫助我,我會爲此感恩。 – rednaw