【问题标题】:Rest API: Design URL and body for POST method and collection of IDsRest API:为 POST 方法和 ID 集合设计 URL 和正文
【发布时间】:2019-09-12 20:25:09
【问题描述】:

如何根据Rest API为post方法定义一个url及其html body?

场景:

1 根据客户端 ID 向客户端集合发送消息。

以下可能的解决方案:

url: POST message/clients

body
{
  "clientIds": "1,2",  //please note this is string due to scenario 2 below
   "Message":"hello" 
}

我关心的是使用字符串而不是数组。

2 向所有客户端发送消息

以下可能的解决方案:

url: POST message/clients

body
{
  "clientIds": "ALL",
   "Message":"hello" 
}

第二个解决方案不能在 url 上反映所有客户,这是我的担心。

有更好的解决方案吗?

【问题讨论】:

  • 添加一个布尔标志“sendToAllClients”,并将 clientIds 作为 Ids 数组 (int/string/Guid)。从 clientIds 获取值,仅当 sendToAllClients 为 false 时
  • 我考虑过的选项之一,但它也需要 if 条件和另外一个字段。

标签: c# rest restful-url


【解决方案1】:

你可以有两种方法

1 接受整数数组(客户端 ID)

1 只接受消息

【讨论】:

  • 什么意思?
【解决方案2】:

这完全取决于您决定如何管理它。

  1. 您可以使用可选参数。
  2. 您可以传递一个空数组。如果数组长度为 0,那么您将其视为全部。
  3. 您可以传递一个特殊的 id,如 -999 或任何其他不应该出现在您的系统上的值,然后您将其视为全部。
  4. 您可以添加一个额外的布尔参数来检查它是否适用于所有人?然后从 ids 数组中获取值。 ..........

    .......

    .......

    还有更多根据您的业务逻辑和数据。

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 2013-04-12
    • 2021-01-01
    • 2015-09-25
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    相关资源
    最近更新 更多