Skip to content

URI

在面向资源的 API 中,资源是被命名的实体,资源名称是它们的标识符。每个资源都必须具有自己唯一的资源名称。资源名称由资源自身的 ID、任何父资源的 ID 及其 API 服务名称组成。

集合是一种特殊的资源,包含相同类型的子资源列表。例如,目录是文件资源的集合。集合的资源 ID 称为集合 ID。

资源名称由集合 ID 和资源 ID 构成,按分层方式组织并以正斜杠分隔。如果资源包含子资源,则子资源的名称由父资源名称后跟子资源的 ID 组成,也以正斜杠分隔。

REST API 使用统一资源标识符(URI)来寻址资源。当资源命名良好时,API 直观且易于使用。如果做得不好,那么相同的 API 会感觉难以使用和理解。

URL Schema

URL 的设计都需要遵守 RFC 3986 的规范。

例子:

txt
         foo://example.com:8042/over/there?name=ferret#nose
         \_/   \______________/\_________/ \_________/ \__/
          |           |            |            |        |
       scheme     authority       path        query   fragment
          |   _____________________|__
         / \ /                        \
         urn:example:animal:ferret:nose
{protocol}://{host}:{port}/{prefix}/{version}/{resource}:{action}
字段说明
protocolAPI 接口支持的协议(http 或 https)
host提供 API 服务的主机名称或 IP
port提供 API 服务的主机端口
prefix系统 API 服务的前缀,如 /api
versionAPI 的版本号,后文有具体的命名规则
resource资源名称,后文有具体的命名规则
action资源控制操作(自定义动词),非必须字段,后文有具体命名规则

基于 VitePress 构建