RESTful Web服务 – 地址
地址是指定位于服务器上的资源或多个资源。这类似于确定一个人的邮寄地址。
在REST架构中,每个资源都由其URI(统一资源标识符)标识。一个URI的格式如下:
<protocol>://<service-name>/<ResourceType>/<ResourceID>
URI的目的是在托管Web服务的服务器上定位资源(或多个资源)。请求的另一个重要属性是动词,该属性标识在资源上执行的操作。例如,在“RESTful Web服务-第一个应用程序”章节中,URI为 http://localhost:8080/UserManagement/rest/UserService/users 而动词为GET。
构造标准URI
在设计URI时,需要考虑以下几个重要点:
- 使用复数名词 - 使用复数名词定义资源。例如,我们使用用户(users)来标识用户资源。
-
避免使用空格 - 使用下划线(_)或连字符(-)来命名较长的资源名称。例如,使用authorized_users而不是authorized%20users。
-
使用小写字母 - 虽然URI不区分大小写,但最好只使用小写字母。
-
保持向后兼容性 - 由于Web服务是公共服务,一旦公开了URI,应始终可用。如果URI被更新了,请使用HTTP状态代码300将旧URI重定向到新URI。
-
使用HTTP动词 - 始终使用HTTP的GET、PUT和DELETE等HTTP动词对资源进行操作。在URI中使用操作名称不好。
例子
下面是一个获取用户的不良URI示例:
http://localhost:8080/UserManagement/rest/UserService/getUser/1
下面是一个获取用户的好URI示例:
http://localhost:8080/UserManagement/rest/UserService/users/1