<mark id="5z1b5"><cite id="5z1b5"></cite></mark>

        <video id="5z1b5"></video>
          <noframes id="5z1b5"><ins id="5z1b5"></ins>

            <em id="5z1b5"></em>

            <dl id="5z1b5"><ins id="5z1b5"></ins></dl>

              REST面向資源架構 RESTful架構

                REST基礎概念:

              • 在REST中的一切都被認為是一種資源。
              • 每個資源由URI標識。
              • 使用統一的接口。處理資源使用POST,GET,PUT,DELETE操作類似創建,讀取,更新和刪除(CRUD)操作。
              • 無狀態。每個請求是一個獨立的請求。從客戶端到服務器的每個請求都必須包含所有必要的信息,以便于理解。
              • 通信都是通過展現。例如XML,JSON

                以狀態為角度,提出將狀態移植到客戶端處理的新思路。 提出一個既適于客戶端應用又適于服務端的應用的、統一的Web視圖。適合B/S C/S S/S。 HTTP客戶端與HTTP服務器之間的差別,對架構來說無所謂。一個軟件應可以既充當Web客戶端又充當Web服務器,而無須采用兩套完全不同的APIs。

                提供資源操作方法的統一:POST, GET, PUT, DELETE ,以超文本或超媒體驅動(hypertext/Hypermedia)的狀態轉移是REST架構核心。 操作帶來狀態變化,狀態轉移遍歷使用鏈接導航方式實現。

                如下圖:首先通過GET方法訪問/well-known-uri(1)獲得當前所有資源(2),然后選擇其中一個資源名FooService通過Get方法訪問/well-known-uri/foo(3),這樣得到foo下的資源列表。

              rest

                foo可能是一個領域模型或其他代表業務核心的資源,假設foo是訂單,用戶如果希望改變訂單狀態,比如撤銷訂單,一旦點按撤銷訂單按鈕,客戶端將向/well-known-uri/foo/reverse發出PUT命令(5),代表撤銷訂單,這其實一個修改訂單狀態的命令。

                客戶端再次發出GET命令(6),獲得狀態已經改變的結果。

                值得注意的是,當發出PUT命令后,不是通常由服務器端立即返回業務操作結果,而是返回Http的200,表示PUT操作完成,具體業務結果必須由客戶端再次根據第三步獲得的資源列表中URI資源,再次由客戶端發出查詢命令獲得(6)。

               

               

              文章和教程:

              10個有關RESTful API良好設計的最佳實踐

              六個強大的創建RESTful服務的Java框架

              為什么RESTful微服務和異步編程是未來趨勢?

              微服務架構快速指南

              QBit微服務microservice教程

              Netflix hystrix入門教程

              使用Dropwizard開發輕量RESTful服務

              Dropwizard與Spring Boot比較

              使用vert.x 2.0, RxJava 和 mongoDB創建一個簡單的RESTful服務

              MEAN: AngularJS + NodeJS的REST API開發教程

              基于Fibers開發Node.js的ExpressJS Restful服務

              用Jersey開發RESTful服務

              JavaEE 7的RESTful web服務

              使用Apache CXF開發RESTful服務

              Spring RESTful服務源碼案例下載

              REST與DDD

              為什么要使用MVC+REST+CQRS架構

              沒有人真正理解REST or HTTP

              REST真相

              REST vs. SOAP

              各種Java序列化性能比較

              Java應用服務器死了

              使用Scala和Spray實現REST

              使用Scala的Akka HTTP,Akka Stream和Reactive Mongo建立REST服務

              Lagom是一個集成ES/CQRS的Reactive微服務框架

              使用Spring Cloud和Reactor在微服務中實現EventSourcing

              一個分布式異步RESTful框架原型案例代碼

              JSON Web Tokens(JWT)教程

              用啤酒和樂高解釋什么是API

              微服務API管理模式

              相關專題

              微服務

              更多REST RESTful架構

              API專題

              美女漫画大全