RESTFUL - >检查项目是否有效?

时间:2015-08-04 23:24:16

标签: rest servicestack

我正在编写RESTful服务,其中一个端点将检查资源是否处于活动状态。

我正在努力使RESTful资源名称符合标准

我的路线GET / api / v1 / items / {itemid} / isActive应该是什么?我正在做(或想要做的)就是在响应中发送一个True / False。

还是我必须发送404回复? --->这是一个简单的get和404 if ifFound?

2 个答案:

答案 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服务