rest api入門介紹

2021-07-24 12:23:52 字數 2220 閱讀 9935

隨著 rest 成為大多數 web 和 mobile 應用的預設選擇,勢必要對它的基本原理有所了解。

在它提出十多年後的今天,rest 已經成為最重要的 web 應用技術之一。隨著所有技術朝著 api 方向發展,它的重要性有可能持續快速地增長。每門主要程式語言現在已經包含構建 restful web 服務的框架。同樣地,web 開發者和架構師對 rest 和 restful 服務有乙個清晰的理解是很重要的。這篇教程解釋了 rest 架構,然後研究使用它構建通用地基於api的任務的細節。

什麼是 rest

rest 代表表述性狀態轉移(representational state transfer),它是一種網路化超**應用的架構風格。它主要是用於構建輕量級的、可維護的、可伸縮的 web 服務。基於 rest 的服務被稱為 restful 服務。rest 不依賴於任何協議,但是幾乎每個 restful 服務使用 http 作為底層協議。

restful 使用http post(建立、更新)資料、讀取資料、刪除資料。使用http實現crud(建立、讀取、更新、刪除)操作。

restful 服務特點:

模型表示(representations)

訊息(messages)

uris

一致介面(uniform inte***ce)

(無狀態)stateless

資源之間的鏈結(links between resources)

快取(caching)

模型表示(representations)

restful 服務的焦點在資源上和怎麼提供對資源的訪問。資源很容易被認為和oop中的物件一樣。乙個資源能由其他資源組成。當設計乙個系統的時候,第一件要做的事情是定義資源和決定資源之間的關係。這有點像設計資料庫的第一步。定義實體和關係。

一旦我們定義了資源,接下來我們需要找到一種用於在系統中表示這些資源的方法。你可以使用任何格式來表示資源。rest 對此沒有限制。

例如,根據你的需求,你可以決定使用 json 或者 xml。如果你在構建 web 服務,此服務用於 web 頁面中的 ajax 呼叫,那 json 是很好地選擇。 xml 可以用來表示比較複雜的資源。例如乙個被稱為「person」的資源可以表示如下:

列表1:資源的json 表示。

列表2:資源的xml 表示。

1 m vaqqas

[email protected]

india

實際上,你可以使用不止一種的格式並且決定使用其中哪一種用於依賴於客戶端型別或一些請求引數的響應。無論使用哪個格式,好的模型表示(representation )應該具有以下明顯的特徵:

客戶端和服務端應該能夠理解這種模型表示(representation )的格式。

模型表示(representation )應該能夠完整的表示資源。如果需要表示部分資源,然後你需要考慮將資源分解成子資源。分割大資源到更小的資源同樣允許你傳遞更小的表現。較小的模型表示(representation)意味著更少的時間來建立和傳輸。這也意味著更快的服務。

模型表示(representation)應該能夠互相鏈結資源。可以通過替換 uri 或者是唯一 id。

訊息(messages)

客戶端和服務端經由訊息相互溝通。客戶端傳送請求到伺服器,伺服器使用響應答覆。除了實際的資料,這些資訊也包含一些關於訊息的元資料。對於設計 restful 服務了解 http 1.1的請求格式和響應格式是很重要的。

http 請求

圖1中展示了http請求格式。

圖1:http 請求格式

get, put, post, delete, options等等 http 方法的一種。

資源的uri。操作將在這個 uri 上執行。

http 版本,通常是「http v1.1」。

包含 header 鍵值對集合的元資料。這些設定包含訊息的資訊和傳送者像客戶端的型別,客戶端支援的格式,訊息體的格式型別,響應的快取設定,和許多資訊。

是實際的訊息內容。在 restful 服務中,這就是訊息中資源表示的位置。

在 html 訊息中沒有標籤和標識標記區塊的開始或結束。

列表三是簡單的 post 請求訊息,這個請求想要插入一條新的 person 資源。

列表3:簡單 post 請求

REST API基礎介紹

1 介面中盡量使用名詞 2 使用post請求資源 3 delete請求刪除資源 eg.get notes id 獲取某個指定id的筆記資訊 1 rest resource representational state transfer 資源在網路傳輸中 以某種 表現形式 進行 狀態轉移 ps 網際網...

筆記 REST API 設計

evernote export body,td 04 07 2015 saturday 15 50 04 07 2015 saturday 17 48 liker.xu head 安全 冪等 options 安全 冪等 put 寫操作 更新或新增資源 冪等,多次插入或者更新同乙份資料,不安全 pos...

rest api 的首次嘗試

這是一道研發崗的試題,據hr小姐姐說是社招的題,我做起來確實有點吃力 因為我不懂商品需要怎麼分類,不知道rest api 是啥。傳送門 關於資料庫 rest api 專案主體都是照著這個參考寫的 寫完之後覺得很簡單,但是過程太艱難了 坑一 intellij idea 的預設上下文就是啥也沒有,不會攜...