Restful API
公司開發(fā)出了某套產(chǎn)品,需要將該產(chǎn)品的服務(wù)寫成接口,供其他部門或者其他公司的開發(fā)人員去調(diào)用,接口最好設(shè)計成統(tǒng)一且合理的風(fēng)格形式,Re
公司開發(fā)出了某套產(chǎn)品,需要將該產(chǎn)品的服務(wù)寫成接口,供其他部門或者其他公司的開發(fā)人員去調(diào)用,接口最好設(shè)計成統(tǒng)一且合理的風(fēng)格形式,Restful API就是一套比較流行的接口形式。目前很多后端將他們提供的服務(wù)封裝在restful風(fēng)格的API中,比如華為云的對象存儲服務(wù)(OBS)和阿里云的對象存儲服務(wù)(OSS),具體可以參考官網(wǎng)的API使用文檔。
什么是Restful API?
一句話:基于HTTP協(xié)議,采用URI(統(tǒng)一資源標(biāo)識符)表示資源,采用HTTP動詞表示對資源進(jìn)行的操作。
URI
Uniform Resource Identifier的縮寫,用來唯一表示互聯(lián)網(wǎng)中的某一資源,常用的是URL(Uniform Resource Locator),統(tǒng)一資源定位符。
HTTP動詞
用來完成CRUD操作(Create、Retrieve、Upload、Delete),restful api的http動詞與http協(xié)議的動詞有些許不同,且不同公司的restful api里http動詞的含義都會有細(xì)微的差別,大多數(shù)restful api里http動詞含義如下:
GET:用來獲取資源,nPOST:用來新建資源(也可以用于更新資源),nPUT:用來更新資源,nDELETE:用來刪除資源
以華為云對象存儲服務(wù)(OBS)里的restful api為例,以下api請求是往桶名為bucktname的桶里上傳對象名為objetName的對象。
PUT /ObjectName HTTP/1.1nHost: bucketname .obs.cn-north-4.myhuaweicloud.comnContent-Type: application/xmlnContent-Length: lengthnAuthorization: authorizationnDate: daten<Optional Additional Header>n<object Content>
為什么要用Restful API
總結(jié)了兩個原因:
1、分離前后端
目前前端的形式有很多,比如手機(jī)客戶端、web客戶端、ipad客戶端和電腦桌面應(yīng)用客戶端等,如果前后端不分離,給不同前段提供接口,后端要寫很多重復(fù)代碼,如果后端將自己提供的服務(wù)統(tǒng)一封裝在一套restful api供不通的前端調(diào)用,將會提高開發(fā)效率。
2、方便不同服務(wù)之間調(diào)用
開發(fā)人員在自己的應(yīng)用里調(diào)用微信賬號登錄,百度地圖定位等第三方功能時,實際上是在自己的程序中調(diào)用了這些公司提供的api接口,有一套統(tǒng)一風(fēng)格的restful api,會減少兼容問題,方便程序員開發(fā)。
參考
怎樣用通俗的語言解釋REST,以及RESTful?華為云對象存儲服務(wù)(OBS)API文檔阿里云對象存儲服務(wù)(OSS)API開發(fā)文檔上一篇:井架座底
下一篇:RESTful API








