jeesz分布式架構(gòu)-RestFul服務(wù)

摘要: REpresentational State Transfer (REST) 是一種架構(gòu)原則,其中將 web 服務(wù)視為資源,可以由其 URL 唯一標(biāo)識。 RESTful Web 服務(wù)的關(guān)鍵特點是明確使用 HTTP 方法來表示不同的操作的調(diào)用。 REST 的基本設(shè)計原則對典型 CRUD 操作使用 HTTP 協(xié)議方法: POST - 創(chuàng)建資源 GET - 檢索資源 PUT – 更新資源 DELETE - 刪除資源 REST 服務(wù)的主要優(yōu)勢在于:

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁制作,對成都酒樓設(shè)計等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

 1. REST介紹

REpresentational State Transfer (REST) 是一種架構(gòu)原則,其中將 web 服務(wù)視為資源,可以由其 URL 唯一標(biāo)識。

RESTful Web 服務(wù)的關(guān)鍵特點是明確使用 HTTP 方法來表示不同的操作的調(diào)用。

REST 的基本設(shè)計原則對典型 CRUD 操作使用 HTTP 協(xié)議方法:

POST - 創(chuàng)建資源

GET - 檢索資源

PUT – 更新資源

DELETE - 刪除資源

REST 服務(wù)的主要優(yōu)勢在于:

它們是跨平臺 (Java、.net、PHP 等)高度可重用的,因為它們都依賴基本 HTTP 協(xié)議。

它們使用基本的 XML,而不是復(fù)雜的 SOAP XML,使用非常方便。

基于 REST 的 web 服務(wù)日益成為后端企業(yè)服務(wù)集成的首選方法。與基于 SOAP 的 web 服務(wù)相比,它的編程模型簡單,而本機 XML(而不是 SOAP )的使用減少了序列化和反序列化過程的復(fù)雜性,并且不再需要其他作用相同的第三方庫。

2. 編寫目的

編寫本文的目的是為了將系統(tǒng)功能進行模塊化、服務(wù)化,將用戶的操作以服務(wù)的方式提供。系統(tǒng)與系統(tǒng)之間遵循服務(wù)規(guī)范,將系統(tǒng)與系統(tǒng)之間的交互轉(zhuǎn)為定制化服務(wù)交互,以實現(xiàn)系統(tǒng)與系統(tǒng)之間的集成

3. 編寫原則

可尋址性(Addressability)

REST 中的所有東西都基于資源 的概念。資源與 OOP 中的對象或其他名詞不同,它是一種抽象,必須可以通過 URI 尋址或訪問。

接口一致性(Interface uniformity)

與 SOAP 或其他標(biāo)準(zhǔn)不同,REST 要求用來操縱資源的方法或動詞不是任意的。這意味著 RESTful 服務(wù)的開發(fā)人員只能使用 HTTP 支持的方法,比如GET、PUT、POST、DELETE等等。因此不需要使用 WSDL 等服務(wù)描述語言

無狀態(tài)(Statelessness)

為了增強可伸縮性,服務(wù)器端不存儲客戶機的狀態(tài)信息。這使服務(wù)器不與特定的客戶機相綁定,負(fù)載平衡變得簡單多了。這還讓服務(wù)器更容易監(jiān)視、更可靠

具象(Representational)

客戶機總是與資源的某種具象交互,絕不會直接與資源本身交互。同一資源還可以有多個具象。理論上說,持有資源的具象的任何客戶機應(yīng)該有操縱底層資源的足夠信息。

  連通性(Connectedness)

任何基于 REST 的系統(tǒng)都應(yīng)該預(yù)見到客戶機需要訪問相關(guān)的資源,應(yīng)該在返回的資源具象中包含這些資源。例如,可以以超鏈接的形式包含特定 RESTful 服務(wù)的操作序列中的相關(guān)步驟,讓客戶機可以根據(jù)需要訪問它們。

4. 服務(wù)使用說明

 1) 當(dāng)前系統(tǒng)已經(jīng)提供的服務(wù)
jeesz分布式架構(gòu)-RestFul服務(wù)

 

   2)  GET方式調(diào)用服務(wù)


jeesz分布式架構(gòu)-RestFul服務(wù)

 

說明:
  1.請求方式包括:GET (這里以area服務(wù)為實例,GET對應(yīng)每一個服務(wù)Resource中的@RequestMapping(value = "treeData", method = RequestMethod.GET))
  2.請求URL:rest服務(wù)請求地址,對應(yīng)XXXServiceResource.java的mapping配置中的value
    @RequestMapping(value = "treeData", method = RequestMethod.GET))
  3.其中GET請求只包含了請求方式和請求的URL,返回的結(jié)果以json格式返回給客戶端

 

   3) POST、DELETE、UPDATE方式調(diào)用服務(wù)


jeesz分布式架構(gòu)-RestFul服務(wù)


 說明:
  1.請求方式選擇POST、DELETE、UPDATE(這里以保存收藏功能為例(PUT請求),對應(yīng)每一個服Resource中的@RequestMapping(value = "save", method = RequestMethod.PUT))
  2.Json參數(shù): 其中POST、DELETE、UPDATE可能傳遞參數(shù)通過json,也可能通過路徑直接拼接參數(shù),這邊以傳遞json到服務(wù)端為實例,對應(yīng)服務(wù)端代碼:
    public JSONObject save(@RequestBody JSONObject obj, BookmarkTag bookmarkTag) {
  3.請求URL:rest服務(wù)請求地址,對應(yīng)XXXServiceResource.java的mapping配置中的value
    @RequestMapping(value = " save", method = RequestMethod.PUT))
  4.返回的結(jié)果以json格式返回給客戶端

5.  服務(wù)列表(僅僅列舉實例)

    1)添加標(biāo)簽

jeesz分布式架構(gòu)-RestFul服務(wù)

    2)刪除標(biāo)簽
jeesz分布式架構(gòu)-RestFul服務(wù)

    3)更新標(biāo)簽
jeesz分布式架構(gòu)-RestFul服務(wù)

    4)獲取標(biāo)簽列表
jeesz分布式架構(gòu)-RestFul服務(wù)

歡迎大家一起學(xué)習(xí)研究相關(guān)技術(shù)

愿意了解框架技術(shù)或者源碼的朋友直接加求求(企鵝):2042849237
更多詳細(xì)源碼參考來源:http://×××/technology

新聞標(biāo)題:jeesz分布式架構(gòu)-RestFul服務(wù)
網(wǎng)頁路徑:http://muchs.cn/article42/ppjjec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、用戶體驗、網(wǎng)站建設(shè)、虛擬主機、定制網(wǎng)站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司