中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jeesz分布式架構-RestFul服務

發布時間:2020-06-18 12:40:14 來源:網絡 閱讀:285 作者:qq593e3b758e013 欄目:建站服務器

 

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

 1. REST介紹

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

RESTful Web 服務的關鍵特點是明確使用 HTTP 方法來表示不同的操作的調用。

REST 的基本設計原則對典型 CRUD 操作使用 HTTP 協議方法:

POST - 創建資源

GET - 檢索資源

PUT – 更新資源

DELETE - 刪除資源

REST 服務的主要優勢在于:

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

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

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

2. 編寫目的

編寫本文的目的是為了將系統功能進行模塊化、服務化,將用戶的操作以服務的方式提供。系統與系統之間遵循服務規范,將系統與系統之間的交互轉為定制化服務交互,以實現系統與系統之間的集成

3. 編寫原則

可尋址性(Addressability)

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

接口一致性(Interface uniformity)

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

無狀態(Statelessness)

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

具象(Representational)

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

  連通性(Connectedness)

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

4. 服務使用說明

 1) 當前系統已經提供的服務
jeesz分布式架構-RestFul服務

 

   2)  GET方式調用服務


jeesz分布式架構-RestFul服務

 

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

 

   3) POST、DELETE、UPDATE方式調用服務


jeesz分布式架構-RestFul服務


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

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

    1)添加標簽

jeesz分布式架構-RestFul服務

    2)刪除標簽
jeesz分布式架構-RestFul服務

    3)更新標簽
jeesz分布式架構-RestFul服務

    4)獲取標簽列表
jeesz分布式架構-RestFul服務

歡迎大家一起學習研究相關技術

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四会市| 晋宁县| 舟山市| 民乐县| 阿鲁科尔沁旗| 龙里县| 宁陕县| 轮台县| 抚远县| 贺兰县| 惠州市| 安达市| 宁城县| 临武县| 台南县| 睢宁县| 莱阳市| 水富县| 罗城| 阜新市| 巴东县| 东兴市| 肃南| 石门县| 桃源县| 苍溪县| 新乡县| 含山县| 南召县| 德惠市| 礼泉县| 柘城县| 赤峰市| 韶关市| 永吉县| 陕西省| 龙游县| 平塘县| 怀仁县| 夏邑县| 北碚区|