URI設計原則

碼魘發表於2018-08-26

我們們設計的REST API真的nic

e麼?優雅型:http://api.exapmle.com/louvre…

盧浮宮/達芬奇/蒙娜麗莎

中庸型:http://58.com/bj/ershou/310976

北京/二手頻道/帖子ID

謝特型:http://api.example.com/68dd0-…

不知道什麼鬼

本文將分享URI設計的一些原則。

  • URI的末尾不要新增“/”

多一個斜槓,語義完全不同,究竟是目錄,還是資源,還是不確定而多做一次301跳轉?
負面case:http://api.canvas.com/shapes/
正面case:http://api.canvas.com/shapes

  • 使用“-”提高URI的可讀性

目的是使得URI便於理解,用“-”來連線單詞
正面case:http://api.example.com/blogs/…

  • 禁止在URL中使用“_”

目的是提高可讀性,“_”可能被文字檢視器中的下劃線特效遮蔽
負面case:http://api.example.com/blogs/…
別爭,看到效果就明白了

  • 禁止使用大寫字母

===========

RFC 3986中規定URI區分大小寫,但別用大寫字母來為難程式設計師了,既不美觀,又麻煩
負面case:http://api.example.com/My-Fol…
正面case:http://api.example.com/my-fol…

  • 不要在URI中包含副檔名

應鼓勵REST API客戶端使用HTTP提供的格式選擇機制Accept request header
正面case:http://58.com/bj/ershou/310976
一個case:http://58.com/bj/ershou/31097…

  • 建議URI中的名稱使用複數

— bxg

相關文章