2014-05-08 31 views
0

我正在構建一個遊戲,用戶可以提交問題的答案。我不想僅僅因爲顯而易見的原因獲得答案。好RESTful URI結構來檢查答案

什麼是一個很好的RESTful URI檢查用戶的答案是否是正確的?

到目前爲止,我已經成功從URI(例如/ games,/ games/123/levels和/ games/123/levels/easy/345)獲取資源數據。

即使它是一個動詞而不是名詞,它仍然被認爲是RESTful,它擁有位於/ games/123/levels/east/345/checkAnswer的checkAnswer服務嗎?

我知道REST只是一個概念,但我想知道人們的意見。

感謝

+0

它確實覺得對我來說不是RESTful。我會對/ games/123/levels/east/345/answer使用PUT請求,並且不接受對同一個URL的GET請求。 –

+0

但是使用PUT應該保留用於更新資源,在這種情況下是答案。我簡單地想要獲得它的價值並將其與提交的價值進行比較。這對我來說是一個灰色地帶。 –

+0

如果答案本身就是一個簡單的字符串,那麼當''爲'/ game/123/levels/easy/345/'時,如果''爲''返回200響應(或2xx範圍內的東西)正確和404如果不是正確的答案?或者你覺得這不合適? –

回答

0

如果你有問題的路線,我會POST一個問題的URL /questions/<question_id>/answers如果答案是好的回報的201 - Accepted狀態碼,如果它是不正確我會返回422 - Unprocessable Entity或者可能是403 - Forbidden狀態碼取決於您認爲最合適的status code description

因此,在此示例中,問題ID將爲213,POST請求的主體可能類似{"answer": "B"}