天天看點

RESTful風格接口開發

在前後端不分離的應用模式中,前端頁面看到的效果都是由後端控制,由後端渲染頁面或重定向,也就是後端需要控制前端的展示,前端與後端的耦合度很高。

這種應用模式比較适合純網頁應用,但是當後端對接App時,App可能并不需要後端傳回一個HTML網頁,而僅僅是資料本身,是以後端原本傳回網頁的接口不再适用于前端App應用,為了對接App後端還需再開發一套接口。

在前後端分離的應用模式中,後端僅傳回前端所需的資料,不再渲染HTML頁面,不再控制前端的效果。至于前端使用者看到什麼效果,從後端請求的資料如何加載到前端中,都由前端自己決定,網頁有網頁的處理方式,App有App的處理方式,但無論哪種前端,所需的資料基本相同,後端僅需開發一套邏輯對外提供資料即可。

在前後端分離的應用模式中 ,前端與後端的耦合度相對較低。

在前後端分離的應用模式中,我們通常将後端開發的每個視圖都稱為一個接口,或者API,前端通過通路接口來對資料進行增删改查。

一、RESTful定義

RESTFUL是一種網絡應用程式的設計風格和開發方式,基于HTTP,可以使用XML格式定義或JSON格式定義。RESTFUL适用于移動網際網路廠商作為業務使能接口的場景。

RESTFUL特點包括:

1、每一個URI代表1種資源;

2、用戶端使用GET、POST、PUT、DELETE4個表示操作方式的動詞對服務端資源進行作:GET用來擷取資源,POST用來建立資源(也可以用于更新資源),PUT用來更新資源,DELETE用來删除資源;

3、通過操作資源的表現形式來操作資源;

4、資源的表現形式是XML或者 JSON;

5、用戶端與服務端之間的互動在請求之間是無狀态的,從用戶端到服務端的每個請求都必須包含了解請求所必需的資訊。

二、RESTful風格的軟體架構

RESTful架構是對MVC架構改進後所形成的一種架構,通過使用事先定義好的接口與不同的服務聯系起來。在RESTful架構中,用戶端使用POST,DELETE,PUT和GET四種請求方式分别對指定的URL資源進行增删改查操作。是以,RESTful是通過URI實作對資源的管理及通路,具有擴充性強、結構清晰的特點。

RESTful架構将伺服器分成前端伺服器和後端伺服器兩部分,前端伺服器為使用者提供無模型的視圖;後端伺服器為前端伺服器提供接口。浏覽器向前端伺服器請求視圖,通過視圖中包含的A JAX函數發起接口請求擷取模型。

項目開發引入RESTful架構,利于團隊并行開發。在RESTful架構中,将多數HTTP請求轉移到前端伺服器上,降低伺服器的負荷,使視圖擷取後端模型失敗也能呈現。但RESTful架構卻不适用于所有的項目,當項目比較小時無需使用RESTful架構,項目變得更加複雜。

繼續閱讀