REST 服务设计 : cancel an order?

标签 rest

鉴于订单取消作为一项要求,以 RESTful 方式表示此操作的最佳设计选项是什么?为什么?

我至少可以想到以下几点

  • 放置 /orders/{id}/cancelled (空 body )
  • /orders/{id} (带有更改属性的整个订单 JSON/XML/等 cancelled)
  • 最佳答案

    请记住,您的资源应该是名词,而不是动词或形容词。您的 http负责告诉您正在使用资源做什么

  • /orders/{id}/cancelation
  • PUT - 取消订单
    DELETE - 回滚取消(也可能是一个场景)
    GET - 返回取消详细信息(例如,您可能希望使用 cancelationtimestamp 字段扩展 username 资源)
  • /orders/{id}

  • PUT (PATCH) - 可以通过传递以下内容来取消:
    {
        ...
        "order_status": "CANCELLED"
        ...
    }
    

    这确实取决于您的业务领域,但第一个对我来说听起来更可取,因为它增加了一些灵活性,例如使用 timestamp 扩展模型和取消取消。

    关于REST 服务设计 : cancel an order?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45131492/

    相关文章:

    java - 从 Java 函数返回环境变量,并在 Jenkins 中设置相同的环境变量以运行构建

    java - 无需 sql 查询、REST API 即可更新表行

    java - 泽西接收文件列表

    java - 并行化 REST 调用的最佳方式是什么?

    java - 从 REST 资源访问 Servlet 初始化参数

    c# - ASP.NET MVC C# PayPal Rest API - UNAUTHORIZED_PAYMENT

    java - 在界面中使用@RequestMapping 是不是一个坏主意?

    rest - Salesforce SOAP SessionId 作为 REST token

    java - 如何在前端(angularjs)和后端(java 或 c#)之间保持 session ?

    java - restTemplate 交换经常会导致 400 错误