API 执行操作的路由

API routes that perform actions

传统的 API 资源允许您 GETPUTPATCHDELETE 等资源。

/api/v1/user/$id

然而,执行某项操作的路由的技术术语是什么,returns 对该操作的结果有一些响应?

/api/v1/flushcache

一种方法是只拥有 cache 资源:

/api/v1/cache

这会 return 某些缓存状态,例如 application/vnd.company.cachestate+json:

{
    "state": "active",
    "objectCount": 123
}

然后你可以PUT相同的表示:

{
    "state": "flushed"
}

哪个可以 return:

{
    "state": "active",
    "objectCount": 0
}

关键是,你必须先用现有的术语来表述问题。使用的术语是 always:

  • 资源(你所说的'Route'):具有一些业务语义的实体
  • 表示:资源使用的实际消息格式。资源可能支持多种表示形式!
  • Mime 类型:表示形式(或多个)的正式描述

因此,同样,通常没有 "does" 某物的资源,更像是,资源代表一些业务实体,以及标准操作(GET、PUT、POST、DELETE 等。 ) 映射到该实体上的某些操作。