鍍金池/ 教程/ 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ù) - 無狀態(tài)
RESTful Web 服務(wù) - Java (JAX-RS)
RESTful Web 服務(wù) - 介紹
RESTful Web 服務(wù) - 消息

RESTful Web 服務(wù) - 尋址

尋址指的是定位存儲在服務(wù)器上的一個(gè)或多個(gè)資源。類似于定位某個(gè)人的郵寄地址。

REST 架構(gòu)中的每個(gè)資源都通過它的 URI(統(tǒng)一資源標(biāo)示符)標(biāo)識。URI 格式如下:

<protocol>://<service-name>/<ResourceType>/<ResourceID>

URI 的目的是定位托管 Web 服務(wù)的服務(wù)器上的資源。請求的另一個(gè)重要的屬性是 VERB,它用于標(biāo)識要在資源上執(zhí)行的操作。比如,在 RESTful Web 服務(wù) - 第一個(gè)應(yīng)用 教程中,URI 就是 http://localhost:8080/UserManagement/rest/UserService/users,VERB 是 GET。

構(gòu)建一個(gè)標(biāo)準(zhǔn)的 URI

下面是設(shè)計(jì) URI 時(shí)要考慮的要點(diǎn):

  • 使用復(fù)數(shù)名詞 - 使用復(fù)數(shù)名詞定義資源。比如,我們使用 users 標(biāo)識用戶資源。
  • 避免使用空格 - 處理長資源名時(shí)使用下劃線(_)或者連字符(-),比如,用 authorized_users 而不是 authorized%20users。
  • 使用小寫字母 - 盡管 URI 不區(qū)分帶小寫,但是在 url 中使用小寫字母是一種很好的做法。
  • 保持向后兼容 - 由于 Web 服務(wù)是一種公共服務(wù),URI 一旦公開之后應(yīng)該始終可用。這種情況下,要更新 URI,請使用 HTTP 狀態(tài)碼 - 300 重定向老的 URI 到新的 URI。
  • 使用 HTTP Verb - 始終使用 HTTP Verb,比如 GET,PUT 以及 DELETE 處理資源操作。在 URL 中使用操作名并不好。

示例

下面是一個(gè)獲取用戶的不好的 URI 示例:

http://localhost:8080/UserManagement/rest/UserService/getUser/1

下面是一個(gè)獲取用戶的好的 URI 示例:

http://localhost:8080/UserManagement/rest/UserService/users/1