沒想到RESTful吸引這麼多人討論
看來RESTful真的是一個概念各種表述
小弟剛接觸RESTful的時候
曾經很熱血的把一百多支API從只有post/get改成RESTful
改完之後有些人覺得好 有些人覺得無所謂
也有人覺得一律POST 這樣client實作最方便 只要能用就好
後來我遇到一個例子
要提供API搜尋文章歷史紀錄 可選的輸入欄位有N種
url可能長這樣
ooxx.com/posts/query?writerNameKeyword=..&minRate=..&maxRate=..
假設還有瀏覽數/發文日期/國家雜七雜八的可選輸入欄位
因為是可選所以也不適合用posts/{country}/query?
日期 瀏覽數這類的欄位看起來也是放在querystring比較好
最後整個url就超級長
雖然SPA設計不會讓這串url出現在瀏覽器網址
但是看到這串這麼長還是會覺得很怪
這時候就很想用POST把參數都放body 小組討論後也覺得這樣比較好
各位覺得呢?
後來其他系統我也不再堅持query一定要用GET了
順帶一提 最近發現蝦皮購物前端呼叫的api也改成不是restful了..
v2版本的下架商品是PUT , 把整個商品資料json帶入 status改成8
刪除商品是 DELETE products/{id}
v3版本entry變成 update_product 跟 delete_product
verb都是POST
以前在開發也經常為了RESTful命名花很多時間
甚至還要跟小組討論 或是有人寫出不是RESTful的時候還要重寫
最後APP開發者串接還是要看文件才行
只是看到RESTful的接口可能覺得很乾淨 用起來有一種爽度
但是文件不說明你還是不會知道這支API所有的細節
反應到開發成本上 堅持完全RESTful的設計 我是沒有感覺到優勢