restful風格的api接口?如何理解restful風格接口
大家好,今天給各位分享restful風格的api接口的一些知識,其中也會對如何理解restful風格接口進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘...
大家好,今天給各位分享restful風格的api接口的一些知識,其中也會對如何理解restful風格接口進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在就馬上開始吧!
restful接口和普通接口有啥區(qū)別
1、功能不同
restfulapi:restfulAPI是當作資源的唯一標識符。
傳統(tǒng)api:傳統(tǒng)API是為了實現某種功能。
2、methods多樣性不同
restfulapi:RestfulAPImethods:
post創(chuàng)建數據
get獲取數據
put/patch是更新數據
delete是刪除數據
傳統(tǒng)api:傳統(tǒng)API只有get獲取數據,其他都是POST解決。
3、接口不同
restfulapi:restfulAPI遵循統(tǒng)一接口的原則,禁止在API中使用自接口或多個接口。理想情況下,超媒體連接應用于分發(fā)單個接口。它還應確保類似的數據片段(例如,用戶名或電子郵件地址)僅屬于一個統(tǒng)一資源標識符(URI)。因此,無論初始請求如何,對相同資源的所有API請求都應看起來相同。簡化了API接口的操作性和統(tǒng)一性:
api/file只需要這一個接口
GET方式請求api/file–獲取文件信息,下載文件
POST方式請求api/file–上傳創(chuàng)建文件
DELETE方式請求api/file–刪除某個文件
傳統(tǒng)api:傳統(tǒng)接口:
api/getfile.php–獲取文件信息,下載文件
api/uploadfile.php–上傳創(chuàng)建文件
api/deletefile.php–刪除文件
4、結構不同
restfulapi:restfulapi嚴格地在客戶端和服務器的Web概念上運行??蛻舳撕头掌鞅舜朔蛛x,提供了更大的靈活性。
傳統(tǒng)api:在結構上,大多數API遵循應用程序–應用程序格式。
5、設計不同
restfulapi:restfulapi通過系統(tǒng)進行通信,使其成為一個復雜的架構。
傳統(tǒng)api:API是輕量級體系結構,專為限制在智能手機等設備上的小工具而設計。
6、協議不同
restfulapi:restfulapi是一種架構風格,用于構建通過HTTP協議進行交互的Web服務。盡管restfulapi是由計算機科學家RoyFielding在2000年制定的,但它仍然是公共API的黃金標準。
傳統(tǒng)api:API的主要目標是標準化Web服務之間的數據交換。根據API的類型,協議的選擇會發(fā)生變化。
7、支持不同
restfulapi:即使用戶不知道函數名稱和參數的特定順序,也會執(zhí)行相比之下,即使用戶不知道函數名稱和參數的特定順序,也會執(zhí)行restfulAPI。
傳統(tǒng)api:大多數API都很容易實現,因為它們不會面臨無狀態(tài)。
8、可擴展性不同
restfulapi:RESTAPI具有分層結構,使得RESTAPI模塊化,并且更靈活地實現可擴展性。
傳統(tǒng)api:可擴展性是通用API的一個問題。
API是一個更大的保護傘,restfulAPI是移動和云應用程序中普遍存在的獨特類型的API。沒有一個API是沒有缺點的,但新的開發(fā)人員發(fā)現restfulAPI很困難,因為它無法在會話中保持狀態(tài)。隨著現代API成為符合特定標準和特定受眾的產品,企業(yè)已迅速改進其用戶界面。
Rest和Restful協議有什么區(qū)別
隨著這幾年微服務概念的興起,另一個名詞出現在了我們面前,那就是RESTful。而現在很多第三方開放平臺的API都是RESTful風格的API,而作為開發(fā)人員也經常聽人說起RESTful,但很多人并不清楚什么是RESTful。
先說說RESTREST這個名詞請一定要全部大寫,它可不是我們英文中所說的Rest!REST這個概念是在2010年提出的,是HTTP協議的一位主要設計者的提出的RepresentationalStateTransfer(表現層狀態(tài)轉化)思想。REST概念的提出者認為改變應用的互動風格比改變互動協議對整體表現有更大的影響,這就稱之為表現層狀態(tài)轉化,即REST。
請注意,REST它只是一種架構思想!
有了REST才有了RESTful如果一個架構符合REST原則(思想),我們就稱之為是RESTful架構風格。請注意,RESTful不是協議!不是協議!RESTful它只是一種架構設計風格,嚴格意義上說也不能稱為是規(guī)范,因為RESTful本身就沒有明確的規(guī)范,只要是符合REST思想的架構風格都可以稱之為是RESTful。
RESTful的本質上面說到了,REST代表的就是表現層狀態(tài)轉化,這個“表現層”狀態(tài)該如何轉化呢?RESTful本質上是基于HTTP的,以不同的HTTP動詞來訪問資源,再以Json對象返回結果。重點來了,我們以不同的HTTP動詞來代表不同的操作類型,如:GET(請求)、POST(創(chuàng)建)、PUT(更新)、DELETE(刪除),所以表現層的狀態(tài)轉化實質上靠的是HTTP動詞來實現的。
RESTfulAPI調用和以前傳統(tǒng)的WEBAPI調用模式一樣,只不過以前的WEBAPI調用方法基本上只有兩種:GET、POST。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流~我是科技領域創(chuàng)作者,十年互聯網從業(yè)經驗,歡迎關注我了解更多科技知識!如何寫好API接口文檔
日常項目開發(fā)的過程中,接口文檔是必不可少的。后端工程師與前端工程師之間需要接口文檔來定義數據傳輸協議、系統(tǒng)對外暴露接口需要文檔來說明、系統(tǒng)之間相互調用需要文檔來記錄接口協議等等。對于一個完整的項目,接口文檔是至關重要的。那我們如何寫好一份接口文檔呢?今天就讓我們說一說接口文檔幾個重要的要素。
1、接口概述接口概述主要說明本接口文檔涉及到的業(yè)務功能點,面向的閱讀對象以及接口文檔主要包括哪些業(yè)務的接口,可以讓讀者有一個直觀的認識。如:本文檔定義了中臺系統(tǒng)面向外部接入方的數據協議接口,主要包括:用戶注冊接口、同步用戶、授權認證等接口。適合閱讀的對象為接入中臺開發(fā)者或者外部合作方…。這樣的一段描述,對于閱讀者來說可以對整個接口文檔有一個大概的認識。
2、權限說明有的接口調用需要授權認證,在這部分需要進行說明。如果接口只是基于分配的token認證,那文檔需要說明token的獲取方式。如果接口需要進行簽名認證,需要在這里說明簽名的具體方法,如下圖:
sign參數的生成規(guī)則要具體說明,最好能示例說明,如:
這樣接入方可以驗證自己的簽名方式是否正確。
3、編碼方式接口的請求過程中可能由于編碼導致亂碼,所以,接口必須約定編碼方式,參考以下寫法:
4、請求說明接口文檔的請求說明中主要說明接口請求的域名以及請求的數據格式:如
5、接口列表接口列表是接口文檔的主要內容,這部分內容需要列出所有的接口名稱、接口地址、接口的請求方式、接口的請求參數以及響應格式。在接口的請求參數中我們需要說明每個參數的含義、類型以及是否必須等屬性。對于接口響應結果,如果有業(yè)務字段,也需要進行說明。下面是一個比較完整的示例:
6、狀態(tài)碼說明接口的響應體一般都會帶有響應的狀態(tài)碼,例如成功、失敗等。狀態(tài)碼有助于接入方進行接口調用狀態(tài)的判斷。如:
接口文檔如果能體現出以上幾個要素,那可以算是一個完整的接口文檔,對于接入方來說可以很好的閱讀理解。
如何調用別人的RESTful接口
我們常說的“接口”其實就是指API(應用程序編程接口),API通俗的說就是將某個服務以特定形式封裝起來供他人便捷的調用,以此使調用方獲得此服務的能力,而不需要了解此服務內部細節(jié)是如何實現的。
什么是RESTful接口?RESTful是當前流行的API設計風格,請注意它不是協議!另外它從嚴格意義上說它也不能稱之為是規(guī)范,因為目前RESTful沒有明確的規(guī)范,我們更傾向于稱它是一種設計風格和約束。
RESTful并不是一個新的技術,它是基于HTTP協議的,只不過在請求API時以不同的HTTP動詞來代表操作類型,結果返回的是Json對象數據。
常見的HTTP動詞代表的含義有:GET(讀取)、POST(新建)、PUT(更新)、DELETE(刪除),這些動詞足以代表數據的不同操作類型,所以說RESTful風格的API是簡單明了,具備語義性的。
如何調用RESTful接口?RESTful風格調用是很簡單的,因為它本質上就是基于HTTP協議的。任何開發(fā)語言,都有HTTP請求的類庫(HttpClient),比如PHP中有cURL、file_get_contents等,我們調用RESTfulAPI其實就是發(fā)起了一個HTTP請求而以。
比如說通過某個API進行數據查詢,那就以GET方式請求RESTfulAPI,我們甚至可以直接通過URL來訪問此API,是不是感覺很簡單?
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流~我是科技領域創(chuàng)作者,十年互聯網從業(yè)經驗,歡迎關注我了解更多科技知識!restfulapi接口規(guī)范
可以提供一些關于restfulapi接口規(guī)范的建議:
1.使用HTTP方法:使用GET、POST、PUT、DELETE等HTTP方法來實現不同的操作,比如GET用于查詢、POST用于新增等。
2.使用URL來標識資源:使用URL來標識唯一的資源,比如/api/users/123表示查詢id為123的用戶信息。
3.返回狀態(tài)碼:使用HTTP狀態(tài)碼來表示操作的結果,比如200表示成功、400表示請求有誤、404表示資源不存在等。
4.使用JSON格式返回數據:使用JSON格式來返回數據,可以方便地轉換為各種數據類型,比如JavaScript對象。
5.使用版本控制:使用版本控制來管理不同版本的API,以便實現向后兼容。
6.使用SSL/TLS保護數據傳輸:使用SSL/TLS來加密通信,以保護數據傳輸的安全性。
7.使用OAuth2.0授權機制:使用OAuth2.0來實現授權機制,以保護API的安全性。
restful優(yōu)缺點
restful的優(yōu)缺點如下:1.優(yōu)點:簡單高效、易于擴展、與不同語言和技術棧的框架無關、易于緩存,可以提升性能、可以使用不同的數據格式等優(yōu)點,使得restful風格適用于很多web應用程序設計中。2.缺點:REST的限制也可能會成為它的缺點,一些復雜的API需要許多自定義操作,而REST的規(guī)范中可能無法定義。此外,由于REST沒有明確的標準,因此不同的應用程序開發(fā)人員可能會根據自己的經驗和理解實現自己的RESTAPI,這可能導致不同的開發(fā)者之間出現對RESTAPI的理解差異,使得API無法保持兼容性和互操作性。
關于restful風格的api接口到此分享完畢,希望能幫助到您。
本文鏈接:http://xinin56.com/su/686.html