我正在编写RESTful服务,其中一个端点将检查资源是否处于活动状态。
我正在努力使RESTful资源名称符合标准
我的路线GET / api / v1 / items / {itemid} / isActive应该是什么?我正在做(或想要做的)就是在响应中发送一个True / False。
还是我必须发送404回复? --->这是一个简单的get和404 if ifFound?
答案 0 :(得分:4)
“isActive”是什么意思?如果此状态(active:true / false)是业务逻辑的一部分,那么它应该只是响应的属性。永远记住REST(Representational state transfer)是关于表示应用程序的当前状态。
如果必须公开项目的状态,只需将其包含在响应中:
GET /api/items/1
{
"name": "First item",
"state": "inactive"
}
或者,您可以设计如下搜索:(我已经对空间进行了URL编码。)
GET /api/items?state=active,name=First%20item
如果没有活动状态且名称为“First item”的项目,则应返回空集合。
我不会在路由中添加太多的业务逻辑,比如检查项是否处于活动状态的特定资源,因为如果项是活动的,您实际上是将客户端约束为一种方法来检查。如果您以某种方式设计资源,那么代表所有可用的信息,客户可以决定如何确定某个项目是否有效。
答案 1 :(得分:1)
我建议写/ api / v1 / items / ping服务