我正在编写一个 RESTful 服务,其中一个端点将检查资源是否处于事件状态。
我正在努力让 RESTful 资源名称符合标准
我的路线 GET/api/v1/items/{itemid}/isActive -- 应该是什么?我正在做的(或想做的)就是在响应中发送 True/False。
或者我必须发送 404 响应吗? ---> 这是一个简单的 get ,如果 notFound 则返回 404 ?
最佳答案
“isActive”是什么意思?如果此状态(事件:真/假)是您的业务逻辑的一部分,那么它应该只是响应的一个属性。永远记住,REST(表述性状态转移)是关于表示应用程序的当前状态。
如果您必须公开某个项目的状态,只需将其包含在响应中即可:
GET /api/items/1
{
"name": "First item",
"state": "inactive"
}
或者,您可以设计如下搜索:(我已经对空间进行了 URL 编码。)
GET /api/items?state=active,name=First%20item
如果没有处于事件状态且名称为“First item”的项目,则应返回一个空集合。
我不会在路由中放入太多业务逻辑,例如用于检查项目是否处于事件状态的特定资源,因为您实际上将客户端限制为一种关于如何检查项目是否处于事件状态的方法。如果您以某种方式设计资源,以便代表所有可用信息,则客户端可以决定如何确定项目是否处于事件状态。
关于RESTFUL --> 检查某个项目是否处于事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821005/