一递雀、背景介紹
RESTful架構(gòu)風格最初由Roy T. Fielding在其2000年的博士學位論文中提出。誕生之初蚀浆,它就因其可擴展性和簡單性受到越來越多的架構(gòu)師和開發(fā)者們的青睞缀程。在企業(yè)中,RESTful API市俊,也逐漸超越SOAP成為實現(xiàn)SOA的重要手段之一杨凑。時至今日,RESTful架構(gòu)風格已成為企業(yè)級服務(wù)的標配摆昧。
二撩满、知識剖析
REST即Representational State Transfer的縮寫,可譯為"表現(xiàn)層狀態(tài)轉(zhuǎn)化”绅你。REST最大的幾個特點為:資源伺帘、統(tǒng)一接口、URI和無狀態(tài)忌锯。
(1)資源:所謂"資源"伪嫁,就是網(wǎng)絡(luò)上的一個實體,或者說是網(wǎng)絡(luò)上的一個具體信息偶垮。它可以是一段文本张咳、一張圖片驹吮、一首歌曲、一種服務(wù)晶伦,總之就是一個具體的實在。資源是以json(或其他Representation)為載體的啄枕、面向用戶的一組數(shù)據(jù)集婚陪,資源對信息的表達傾向于概念模型中的數(shù)據(jù)
(2)統(tǒng)一接口:RESTful架構(gòu)風格規(guī)定,數(shù)據(jù)的元操作频祝,即CRUD分別對應(yīng)于HTTP方法:GET用來獲取資源泌参,POST用來新建資源(也可以用于更新資源),PUT用來更新資源常空,DELETE用來刪除資源沽一,這樣就統(tǒng)一了數(shù)據(jù)操作的接口,僅通過HTTP方法漓糙,就可以完成對數(shù)據(jù)的所有增刪查改工作铣缠。
(3)URI : 可以用一個URI(統(tǒng)一資源定位符)指向資源,每個URI都對應(yīng)一個特定的資源昆禽,獲取這個資源蝗蛙,訪問它的URI就可以了,一般的,每個資源至少有一個URI與之對應(yīng)醉鳖,最典型的URI即URL捡硅。
(4)無狀態(tài):所謂無狀態(tài)的,即所有資源盗棵,都可以通過URL定位壮韭,這個定位與其他資源無關(guān),也不會因為其他資源的變化而改變纹因。關(guān)于有狀態(tài)和無狀態(tài)喷屋,舉個栗子,如查詢員工的工資辐怕,如果查詢工資是需要登錄系統(tǒng)逼蒙,進入查詢工資的頁面,執(zhí)行相關(guān)操作后寄疏,獲取工資的多少是牢,則這種情況是有狀態(tài)的,因為查詢工資的每一步操作都依賴于前一步操作陕截,只要前置操作不成功驳棱,后續(xù)操作就無法執(zhí)行;如果輸入一個url即可得到指定員工的工資农曲,則這種情況是無狀態(tài)的社搅,因為獲取工資不依賴于其他資源或狀態(tài)驻债,且這種情況下,員工工資是一個資源形葬,由一個url與之對應(yīng)合呐,可以通過HTTP中的GET方法得到資源,這是典型的RESTful風格
三笙以、restful有什么特點淌实?
(1)每一個URI代表一種資源,獨一無二
(2)客戶端和服務(wù)器之間猖腕,傳遞這種資源的某種表現(xiàn)層
(3)客戶端通過四個HTTP動詞拆祈,對服務(wù)器端資源進行操作,實現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"倘感。
(4)常見問題
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左邊是錯誤的放坏,右邊是正確的。
(5)解決方案
(6)拓展思考:
“我們相信人人都可以成為一個工程師逻炊,現(xiàn)在開始互亮,找個師兄,帶你入門余素,掌控自己學習的節(jié)奏豹休,學習的路上不再迷茫”桨吊。
這里是技能樹.IT修真院威根,成千上萬的師兄在這里找到了自己的學習路線,學習透明化视乐,成長可見化洛搀,師兄1對1免費指導(dǎo)∮拥恚快來與我一起學習吧 留美!