摘要: REpresentational State Transfer (REST) 是一種架構(gòu)原則,其中將 web 服務(wù)視為資源,可以由其 URL 唯一標(biāo)識(shí)。 RESTful Web 服務(wù)的關(guān)鍵特點(diǎn)是明確使用 HTTP 方法來(lái)表示不同的操作的調(diào)用。 REST 的基本設(shè)計(jì)原則對(duì)典型 CRUD 操作使用 HTTP 協(xié)議方法: POST - 創(chuàng)建資源 GET - 檢索資源 PUT – 更新資源 DELETE - 刪除資源 REST 服務(wù)的主要優(yōu)勢(shì)在于:
在成都網(wǎng)站制作、做網(wǎng)站中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶(hù),提高在線咨詢(xún)和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷(xiāo)成為有效果、有回報(bào)的無(wú)錫營(yíng)銷(xiāo)推廣。創(chuàng)新互聯(lián)建站專(zhuān)業(yè)成都網(wǎng)站建設(shè)10年了,客戶(hù)滿(mǎn)意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶(hù)聯(lián)系。1. REST介紹
REpresentational State Transfer (REST) 是一種架構(gòu)原則,其中將 web 服務(wù)視為資源,可以由其 URL 唯一標(biāo)識(shí)。
RESTful Web 服務(wù)的關(guān)鍵特點(diǎn)是明確使用 HTTP 方法來(lái)表示不同的操作的調(diào)用。
REST 的基本設(shè)計(jì)原則對(duì)典型 CRUD 操作使用 HTTP 協(xié)議方法:
POST - 創(chuàng)建資源
GET - 檢索資源
PUT – 更新資源
DELETE - 刪除資源
REST 服務(wù)的主要優(yōu)勢(shì)在于:
它們是跨平臺(tái) (Java、.net、PHP 等)高度可重用的,因?yàn)樗鼈兌家蕾?lài)基本 HTTP 協(xié)議。
它們使用基本的 XML,而不是復(fù)雜的 SOAP XML,使用非常方便。
基于 REST 的 web 服務(wù)日益成為后端企業(yè)服務(wù)集成的選方法。與基于 SOAP 的 web 服務(wù)相比,它的編程模型簡(jiǎn)單,而本機(jī) XML(而不是 SOAP )的使用減少了序列化和反序列化過(guò)程的復(fù)雜性,并且不再需要其他作用相同的第三方庫(kù)。
2. 編寫(xiě)目的
編寫(xiě)本文的目的是為了將系統(tǒng)功能進(jìn)行模塊化、服務(wù)化,將用戶(hù)的操作以服務(wù)的方式提供。系統(tǒng)與系統(tǒng)之間遵循服務(wù)規(guī)范,將系統(tǒng)與系統(tǒng)之間的交互轉(zhuǎn)為定制化服務(wù)交互,以實(shí)現(xiàn)系統(tǒng)與系統(tǒng)之間的集成
3. 編寫(xiě)原則
可尋址性(Addressability)
REST 中的所有東西都基于資源 的概念。資源與 OOP 中的對(duì)象或其他名詞不同,它是一種抽象,必須可以通過(guò) URI 尋址或訪問(wèn)。
接口一致性(Interface uniformity)
與 SOAP 或其他標(biāo)準(zhǔn)不同,REST 要求用來(lái)操縱資源的方法或動(dòng)詞不是任意的。這意味著 RESTful 服務(wù)的開(kāi)發(fā)人員只能使用 HTTP 支持的方法,比如GET、PUT、POST、DELETE等等。因此不需要使用 WSDL 等服務(wù)描述語(yǔ)言
無(wú)狀態(tài)(Statelessness)
為了增強(qiáng)可伸縮性,服務(wù)器端不存儲(chǔ)客戶(hù)機(jī)的狀態(tài)信息。這使服務(wù)器不與特定的客戶(hù)機(jī)相綁定,負(fù)載平衡變得簡(jiǎn)單多了。這還讓服務(wù)器更容易監(jiān)視、更可靠
具象(Representational)
客戶(hù)機(jī)總是與資源的某種具象交互,絕不會(huì)直接與資源本身交互。同一資源還可以有多個(gè)具象。理論上說(shuō),持有資源的具象的任何客戶(hù)機(jī)應(yīng)該有操縱底層資源的足夠信息。
連通性(Connectedness)
任何基于 REST 的系統(tǒng)都應(yīng)該預(yù)見(jiàn)到客戶(hù)機(jī)需要訪問(wèn)相關(guān)的資源,應(yīng)該在返回的資源具象中包含這些資源。例如,可以以超鏈接的形式包含特定 RESTful 服務(wù)的操作序列中的相關(guān)步驟,讓客戶(hù)機(jī)可以根據(jù)需要訪問(wèn)它們。
4. 服務(wù)使用說(shuō)明
1) 當(dāng)前系統(tǒng)已經(jīng)提供的服務(wù)
2) GET方式調(diào)用服務(wù)
說(shuō)明:
1.請(qǐng)求方式包括:GET (這里以area服務(wù)為實(shí)例,GET對(duì)應(yīng)每一個(gè)服務(wù)Resource中的@RequestMapping(value = "treeData", method = RequestMethod.GET))
2.請(qǐng)求URL:rest服務(wù)請(qǐng)求地址,對(duì)應(yīng)XXXServiceResource.java的mapping配置中的value
@RequestMapping(value = "treeData", method = RequestMethod.GET))
3.其中GET請(qǐng)求只包含了請(qǐng)求方式和請(qǐng)求的URL,返回的結(jié)果以json格式返回給客戶(hù)端
3) POST、DELETE、UPDATE方式調(diào)用服務(wù)
說(shuō)明:
1.請(qǐng)求方式選擇POST、DELETE、UPDATE(這里以保存收藏功能為例(PUT請(qǐng)求),對(duì)應(yīng)每一個(gè)服Resource中的@RequestMapping(value = "save", method = RequestMethod.PUT))
2.Json參數(shù): 其中POST、DELETE、UPDATE可能傳遞參數(shù)通過(guò)json,也可能通過(guò)路徑直接拼接參數(shù),這邊以傳遞json到服務(wù)端為實(shí)例,對(duì)應(yīng)服務(wù)端代碼:
public JSONObject save(@RequestBody JSONObject obj, BookmarkTag bookmarkTag) {
3.請(qǐng)求URL:rest服務(wù)請(qǐng)求地址,對(duì)應(yīng)XXXServiceResource.java的mapping配置中的value
@RequestMapping(value = " save", method = RequestMethod.PUT))
4.返回的結(jié)果以json格式返回給客戶(hù)端
5. 服務(wù)列表(僅僅列舉實(shí)例)
1)添加標(biāo)簽
2)刪除標(biāo)簽
3)更新標(biāo)簽
4)獲取標(biāo)簽列表
歡迎大家一起學(xué)習(xí)研究相關(guān)技術(shù)
愿意了解框架技術(shù)或者源碼的朋友直接加求求(企鵝):2042849237
更多詳細(xì)源碼參考來(lái)源:http://×××/technology
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:jeesz分布式架構(gòu)-RestFul服務(wù)-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article12/ishgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、定制開(kāi)發(fā)、網(wǎng)站改版、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
移動(dòng)網(wǎng)站建設(shè)知識(shí)