目前網路上充斥著大量的關於RESTful API(為方便,下文中「RESTful API 」簡寫為「API」)如何設計的文章,然而卻沒有一個」萬能「的設計標準:如何辨識? API 格式如何?當開始寫一個app的時候,特別是後端模型部分已經寫完的時候,不得不殫精竭慮的設計和實作自己app的public API部分。因為一旦發布,對外發布的API將會很難改變。
問題1:
發送郵件/mail/1/send 使用POST /mail/send 使用POST
該怎麼樣命名URL呢
問題2
取得某個特定使用者清單 /getVipUser /user/vip /getUserList?type=vip
該怎麼樣命名URL呢
問題3
使用駝峰還是蛇形呢,很糾結,都用過,有人說隨便,但是就是糾結。
restful只是一套參考的規範而已,我的理解是軟體開發領域沒有包打天下的規範,只有各不相同的best practice 最佳實踐,至於API 只要便於開發人員區分就行了,樓主不必強迫自己為了規範而規範,只要實現功能誰會在乎你API長什麼樣子。
可以看看 阮一峰的部落格文章:
http://www.ruanyifeng.com/blo...
關於使用駝峰還是蛇形 應該全部小寫
vip
可以作為一個資源GET vips/user/{id}
ORGET users/vip/{id}
取得單一資源GET vip/useruserp 7S/useroGET OR/useroGET 7S/useroGET 7S/userpo/Trops/userp資源
這些資源或許可以參考一下:restful-api-design-references - RESTful API 設計參考文獻列表,可幫助你更徹底的了解REST風格的介面設計。
RESTful api的實際應用中,Github API v3 的設計可以說是楷模,也可以看看。