看板 Soft_Job 關於我們 聯絡資訊
沒想到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的設計 我是沒有感覺到優勢 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.82.149 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1552377387.A.CFC.html
moom50302: 每個人都要有概念,Restful才有優勢,不然光是理解就 03/12 16:22
moom50302: 花更多時間了 03/12 16:22
dreamnook: 學習過程中我對restful最大誤解是要拋棄querystring 03/12 16:29
dreamnook: 但實際上沒有要求拋棄的樣子 忘了從哪傳來的 03/12 16:29
othree: 因為沒 querystring 最漂亮吧,其實這些問題也是現在 03/12 17:32
othree: GraphQL 的由來 03/12 17:32
blues520520: 查到有要符合HATEOAS 才可以叫RESTful? 03/12 19:10
tz5514: query string用在optional parameters 但是還是解決不了 03/12 20:21
tz5514: 欄位大量排列組合的問題 所以才需要GraphQL 03/12 20:21
y3k: 初學者都會認為直接POST最快最穩 但是有一些隱性的問題跟劣勢 03/12 21:28
y3k: 寫久還是把Http Method跟Code搬出來比較嚴謹 03/12 21:29
srwhite: 我也有這問題 查詢條件多的時候大家都怎麼弄 03/13 13:43
pttuser2266: Post 不能 cache by url , 用 Get + query string 03/14 09:53
pttuser2266: 比較好 03/14 09:53
brucetu: 曾經開發的APP都會被測試PO文另一支手機重整馬上看到 03/14 23:08
brucetu: 如果cache導致沒有收到新資料 老闆不接受 03/14 23:09
benjamin99: 回樓上,那你可能要問你老闆願意為這個零時差的即時 03/16 22:15
benjamin99: 性付出多少錢吧 03/16 22:15