执行操作的API路由

时间:2016-05-17 08:53:56

标签: rest restful-architecture api-design

因此,传统的API资源可让您GETPUTPATCHDELETE等资源。

/api/v1/user/$id

然而,执行某项操作并返回有关该操作结果的回复的路线的技术术语是什么?

/api/v1/flushcache

1 个答案:

答案 0 :(得分:2)

一种方法是拥有cache资源:

/api/v1/cache

哪个会返回一些缓存状态,例如application/vnd.company.cachestate+json

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

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

{
    "state": "flushed"
}

可以返回:

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

关键是,您必须首先在现有术语中阐述问题。使用的术语是始终

  • 资源(您称之为'Route'):具有一些业务语义的实体
  • Representation:资源使用的实际消息格式。资源可能支持多种表示形式!
  • Mime-Type:表示形式(或多个表示)的正式描述

所以,再次,通常没有资源“做”某事,更像是,资源代表一些业务实体,标准操作(GET,PUT,POST,DELETE等)映射对该实体的某些操作。