RESTFUL --> 检查某个项目是否处于事件状态?

标签 rest servicestack

我正在编写一个 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/

相关文章:

asp.net-mvc-3 - 适本地形成一个通用的、RESTful 的路由方案

servicestack - 如何将 ServiceStack AuthSession 注入(inject)到我的存储库类中?

redis - 如何将 requestDto 推送到 Redis 并一直保存到它被读取?

angular - 为 ServiceStack DTO Angular 6 赋值

java - REST 和 Hibernate 上的 ID 和复杂数据映射

java - 如何使用带有Jersey的JAX-RS处理CORS

rest - 如何确保基于 Rest 的 API 的安全?

java - Spring 休息站?

servicestack - WSDL - 允许 SOAP 消息的 DataMember 的不同顺序

c# - 使用 Servicestack 在 RabbitMQ 队列上设置 TTL