2012-08-13 67 views
2

我見過一些人說,這是做REST的唯一途徑: 正確的REST URI語法

/car 

顯示所有汽車

/car/123 

顯示有關與標識的車的123

我也看到其他人更喜歡用REST做到這一點:

/car 

顯示所有汽車

/car?id=123 

顯示與123

ID車上這對REST是正確的信息?

請注意,我只是發佈這個問題才能得到一個真正的答案,我不是拖釣。如果REST的定義不夠明確,或者不清楚上面哪個選項對於REST是「正確的」,那麼對我來說這將是一個很好的答案。我只是想了解REST。

謝謝。

+0

我想你會發現這個演講有趣:[鏈接](http://blog.apigee.com/detail/slides_for_restful_api_design_second_edition_webinar) – toniedzwiedz 2012-08-14 10:41:35

+0

REST是一種分佈式應用程序架構風格,因此它定義了一套複雜的實踐。迄今爲止我見過的REST的最佳介紹是[REST in Practice book。](http://restinpractice.com/book/)REST不僅僅是設計URI,但不幸的是,REST已經成爲HTTP的同義詞它不是**。 Tom和Justin都提供了關於REST的流行但誤導性的信息。幫你一個忙,花點時間去了解REST的實際情況。 – 2012-08-14 12:27:55

回答

3

REST最初是基於純路徑驅動架構設計的,儘管REST API在像Flickr和JIRA這樣的軟件中的不同實現已經混淆了這一點。最後,最重要的是你自己的API中使用的標準是一致的(即,不要使用/ api/user/21來獲取用戶,然後使用/ api/group?id = 3來獲得另一個用戶) 。理想情況下,使用路徑來定位資源,然後使用不同的HTTP動詞來確定您正在使用該資源(獲取它,發佈一個新的,發起更新等)。

維基百科上有一個非常豐富的文章.. http://en.wikipedia.org/wiki/Representational_state_transfer