【问题标题】:How to add a flag to existing POST api如何向现有的 POST api 添加标志
【发布时间】:2014-05-11 09:56:24
【问题描述】:

我有一个用于创建订单的 REST api。这种行为是这样的,创建订单的人会收到一封回复说“您创建了订单 XXX”的电子邮件。这封邮件一直被触发。

api 是这样的

http://api.mytestevnt.com/ordering/orders - 以请求正文作为订单实体 json 的 POST。

现在我想为 api 调用者提供一个功能,以指示是否需要电子邮件通知。最好的方法是什么?

【问题讨论】:

    标签: java rest cxf


    【解决方案1】:

    在 POST 正文中包含 send_email=1send_email=0 参数。您将提取它,然后查看用户想要做什么。

    搜索“如何在 JAVA 中获取 POST 变量”。

    Accessing post variables using Java Servlets

    【讨论】:

      【解决方案2】:

      你可以这样做:

      1. 在您的 Java 请求对象中为您的 REST 服务添加一个新的 Java 属性(如 boolean emailEnabled)。

      2. 调用您的 REST 服务的客户端需要提供您在服务器端添加的参数,您也可以为其设置默认值。

      【讨论】:

      • 谢谢!我在想它会污染作为请求主体的实际订单资源......
      • 不客气。它确实需要您在请求对象中添加一些内容,但不会影响不包含此新添加属性的其他客户端。
      【解决方案3】:

      我认为这取决于电子邮件通知是数据还是元数据。如果它是订单的一部分,那么一定要把它添加到请求正文中。如果是元数据,您有两种选择。如果您认为会有很多元数据,您可以编辑订单以具有元数据部分,也可以单独发布元数据。如果只有有限数量的元数据,我建议使用查询参数。

      除非您控制从客户端到服务器的整个路径,否则应避免使用标头,因为允许代理或负载平衡器去除非标准标头。

      【讨论】:

        猜你喜欢
        • 2019-08-22
        • 1970-01-01
        • 2016-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-06
        • 1970-01-01
        相关资源
        最近更新 更多