[請益] 所以,到底什麼是RESTful API?

作者: thefattiger (LT)   2019-03-11 12:33:56
因為Web_Design板滿冷清的所以來這邊問
若不適當請告知
小弟不是Web領域的, 但也難免會碰到相關的東西
常聽到寫Web App的人會講到這個名詞
但查了一下資訊卻還是摸不著頭緒
估狗RESTful API 大概都是講到一下幾點
1.資源要用URL表示
這不是本來就這樣的嗎?
還是指別濫用query string?
關於query string與RESTful實在眾說紛紜, 查了很久也找不到令人信服的答案
2.Server要回傳對應的Http Status Code
這不是也本來就這樣的嗎?
3.用GET/POST/PUT等動詞表達對資源的操作
意思是說, 本來只有GET/POST用法, 但其實還有PUT/PATCH/DELETE等等
應該要善加利用這些動詞把操作分得更清楚?
4.Stateless
這也很常看到,但Http不是本來就Stateless的嗎?
要記錄state一般不都借助於session和cookie?
還是不RESTful的Api會有某種state?
5.資源傳遞的格式
這部分似乎不在RESTful的範圍,可以是json也可以是XML
有Web領域的前輩可以指點一下嗎?
RESTful真的很神秘, 問身邊的人每個認為的重點都不太一樣
作者: neo5277 (I am an agent of chaos)   2019-03-11 12:35:00
根據那八個動詞要什麼給你什麼
作者: dreamnook (亞龍)   2019-03-11 12:44:00
一種寫法http://bit.ly/2VScXgS就當作一種寫法讓api更清楚簡潔吧O.O
作者: alan3100 (BOSS)   2019-03-11 13:05:00
好寫易懂易串接
作者: crossdunk (推噓自如)   2019-03-11 13:05:00
本來就要 然後咧 ? 要叫做什麼成功的人本來就會比較容易受到注意,那幹嘛還出一個名詞叫做生存者偏差
作者: DrTech (竹科管理處網軍研發人員)   2019-03-11 13:06:00
年輕人太多吧。古早時代的web URL或Http methods , 還真的是大家亂用一通。
作者: deray (Deray)   2019-03-11 13:11:00
你的google是不是壞掉了?
作者: alihue (wanda wanda)   2019-03-11 13:16:00
RESTful 只是一種規定,讓原本大家天花亂墜的設計有一個最基本可依循的規則。沒有什麼新技術是沒錯
作者: AndCycle (AndCycle)   2019-03-11 13:17:00
上古時代是 http://網址/五四三?qwhat=我想幹嘛就幹嘛
作者: alihue (wanda wanda)   2019-03-11 13:17:00
舉個例子,有人用 get 去刪除資料
作者: iiiii (I take 5)   2019-03-11 13:23:00
就是面試官喜歡的,真心不騙,kernel裡面一堆get也沒人敢噓Linus
作者: iceonly (只有冰)   2019-03-11 14:02:00
假設東西找不到,你的回應是什麼?你沒權限要求這東西,又要回應什麼?要CRUD某個資源,你URL名字要怎麼設計?沒去讀restful規範只會設計出一堆奇怪api,你以為RESTFUL其實一點也不RESTFUL
作者: pttworld (批踢踢世界)   2019-03-11 14:09:00
你去比較SOAP和RESTful差別就好了
作者: bibo9901 (function(){})()   2019-03-11 14:29:00
你發現精要了,restful就是隨個人喜好實現你就算從來不知道RESTful這個字, 設計出的API也差不多這個樣子. 但是HTTP API這個詞太不潮了, 於是就有一個人把一些慣例或小技巧稱之為REST. 就像design pattern一樣.
作者: ken83924 (東東)   2019-03-11 14:37:00
推B大見解
作者: srxrrr (幹!我是肌董)   2019-03-11 14:49:00
推這篇與B大解釋 我一開始看restful也是滿頭問號不就跟HTTP API一樣的東西嗎XD
作者: superpai (超級白)   2019-03-11 14:52:00
你可以跟GraphQL 比較就知道蠻多點不是「本來就這樣」
作者: fayhong (恰似飛鴻踏雪泥)   2019-03-11 15:03:00
https://goo.gl/e7fykr裡頭有一篇講 ROA 架構的,根基就是 ReSTful建議先讀看看,只是翻譯不太通順,我看了兩三遍,還看了原文作者其他文章才釐清楚原作者要表達的是什麼
作者: richard07250 (blazing)   2019-03-11 15:26:00
其實原po講的那些 "理所當然"的東西 很多就是restfu規定的
作者: SFMAndroid (安卓發送)   2019-03-11 16:32:00
因為只講API人家不一定知道你是指SOAP還是REST吧
作者: dreamnook (亞龍)   2019-03-11 16:38:00
用過SOAP就知道肥皂很難撿…QQ
作者: jack0204 (Jarbar王朝)   2019-03-11 17:01:00
就像Coding style的一個東西
作者: lemon651 (小明)   2019-03-11 17:44:00
你覺得很理所當然的東西是因為現今大家都照這個風格寫API
作者: JustinHere (良葛格)   2019-03-11 18:07:00
作者: transforman   2019-03-11 19:31:00
推個
作者: oopFoo (3d)   2019-03-11 19:51:00
http://restcookbook.com/https://bit.ly/2IWgOnh其實就用graphql好了。要寫對restful要花一點時間。
作者: TakiDog (多奇狗)   2019-03-11 19:52:00
GET 刪除 GET 登入 天rrr
作者: shortoneal (不告訴你咧)   2019-03-11 20:08:00
沒有本來就這樣啊,以前接別人device api,一個GET打天下呢
作者: five07   2019-03-11 22:19:00
restful 不是規定,是概念和風格,第一點 url 資源的概念,並沒有本來就這樣,隨便找都是群魔亂舞的命名
作者: kokal (細菌)   2019-03-11 22:49:00
HTTP standard有定,可是沒多少人會去把HTTP standard看完呀
作者: TWTRubiks (阿哲)   2019-03-11 23:10:00
http://bit.ly/2tZRoyP (小弟我之前寫的)
作者: senjor (哞哞)   2019-03-12 08:56:00
應該說很多人都把RESTful當成單純的反射性API在用
作者: lgates (衰神附身的男人)   2019-03-12 18:50:00
推個 找google完我也是想問 阿不就這樣..
作者: marsyang1 (Mars)   2019-03-12 19:39:00
推肥皂真的很難撿,會撿到翻臉
作者: mdkn35 (53nkdm)   2019-03-12 19:49:00
一個抽象 需要被實現
作者: questionboy (問題男孩)   2019-03-13 14:46:00
就另一種架構而已

Links booklink

Contact Us: admin [ a t ] ucptt.com