API 执行操作的路由
API routes that perform actions
传统的 API 资源允许您 GET
、PUT
、PATCH
、DELETE
等资源。
/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 等。 ) 映射到该实体上的某些操作。
传统的 API 资源允许您 GET
、PUT
、PATCH
、DELETE
等资源。
/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 等。 ) 映射到该实体上的某些操作。