鍍金池/ 教程/ Java/ RESTful Web 服務(wù) - 介紹
RESTful Web 服務(wù) - 環(huán)境設(shè)置
RESTful Web 服務(wù) - 資源
RESTful Web 服務(wù) - 第一個(gè)應(yīng)用
RESTful Web 服務(wù) - 緩存
RESTful Web 服務(wù) - 方法
RESTful Web 服務(wù) - 安全性
RESTful Web 服務(wù) - 尋址
RESTful Web 服務(wù) - 無(wú)狀態(tài)
RESTful Web 服務(wù) - Java (JAX-RS)
RESTful Web 服務(wù) - 介紹
RESTful Web 服務(wù) - 消息

RESTful Web 服務(wù) - 介紹

什么是 REST?

REST 是 REpresentational State Transfer 的縮寫(xiě)。REST 是一種基于 Web 標(biāo)準(zhǔn)的軟件架構(gòu),它使用 HTTP 協(xié)議處理數(shù)據(jù)通信。它以資源為中心,其中每個(gè)組成部分都是一個(gè)資源,并且資源通過(guò)使用 HTTP 標(biāo)準(zhǔn)方法的公共接口訪問(wèn)。REST 由 Roy Fielding 在 2000 年首次提出。

在 REST 架構(gòu)中,一個(gè) REST 服務(wù)器只提供對(duì)資源的訪問(wèn),REST 客戶(hù)端訪問(wèn)并呈現(xiàn)資源。這里每個(gè)資源都通過(guò) URIs/ 全局 ID 標(biāo)識(shí)。REST 使用各種不同的表現(xiàn)形式表示資源,比如文本,JSON 和 XML。目前,JSON 是用于 Web 服務(wù)最流行的格式。

HTTP 方法

下面是常用于基于 REST 架構(gòu)中的眾所周知的 HTTP 方法:

  • GET - 提供資源的只讀訪問(wèn)。
  • PUT - 用于創(chuàng)建一個(gè)新資源。
  • DELETE - 用于移除一個(gè)資源。
  • POST - 用于更新現(xiàn)有資源或者創(chuàng)建一個(gè)新資源。
  • OPTIONS - 用于獲取資源上支持的操作。

RESTFul Web 服務(wù)

一個(gè) Web 服務(wù)就是一個(gè)用于在應(yīng)用程序或系統(tǒng)之間交換數(shù)據(jù)的開(kāi)放協(xié)議和標(biāo)準(zhǔn)的集合。使用不同語(yǔ)言編寫(xiě)以及運(yùn)行在不同平臺(tái)上的軟件應(yīng)用可以使用 Web 服務(wù)跨計(jì)算機(jī)網(wǎng)絡(luò)交換數(shù)據(jù),比如互聯(lián)網(wǎng)的方式類(lèi)似于一臺(tái)計(jì)算機(jī)上的進(jìn)程通信。這種互操作性(比如,Java 和 Python,或者 Windows 和 Linux 應(yīng)用程序之間)歸功于開(kāi)放標(biāo)準(zhǔn)的使用。

這種基于 REST 架構(gòu)的 Web 服務(wù)就被稱(chēng)為 RESTful Web 服務(wù)。這些 Web 服務(wù)使用 HTTP 方法實(shí)現(xiàn) REST 架構(gòu)的概念。一個(gè) RESTful Web 服務(wù)通常定義了一個(gè) URI,即統(tǒng)一資源標(biāo)示符服務(wù);提供資源表示形式比如 JSON 和設(shè)置 HTTP 方法。

創(chuàng)建 RESTFul Web 服務(wù)

本教程將會(huì)創(chuàng)建一個(gè)帶以下功能的用戶(hù)管理 Web 服務(wù):

編號(hào) HTTP 方法 URI 操作 操作類(lèi)型
1 GET /UserService/users 獲取用戶(hù)列表 只讀
2 GET /UserService/users/1 獲取 ID 為 1 的用戶(hù) 只讀
3 PUT /UserService/users/2 插入 ID 為 2 的用戶(hù) 冪等
4 POST /UserService/users/2 更新 ID 為 2 的用戶(hù) N/A
5 DELETE /UserService/users/1 刪除 ID 為 1 的用戶(hù) 冪等
6 OPTIONS /UserService/users 列出 Web 服務(wù)所支持的操作 只讀