首页 文章

REST API-对不同的参数使用相同的 URI 和相同的方法来调用不同的方法

提问于
浏览
1

我有一个棘手的情况,我需要使用相同的 URI 来调用 POST 操作,一个用于单个对象,另一个用于具有相同类型对象的数组。问题是我无法更改 URI。 e.g.

POST /my-services/v1/users with single user object as part of request body &

POST /my-services/v1/users with array of user objects as part of request body

我无法更改第二次操作 e.g 的 URI。 /my-services/v1/ 批量 -users

那么,问题是,如何在 REST API 中添加此类方法?

2 回答

  • 0

    在大多数 JSON 映射器中(例如Jackson),您可以设置属性ACCEPT_SINGLE_VALUE_AS_ARRAY,它基本上将单个对象视为一个数组,因此您可以定义一次端点(对于集合)。

    然后实现端点,因为它始终将Collection作为输入,即使客户端将发送单个 JSON 对象,它也将由 mapper 处理。

  • 0

    我会说添加另一个参数。

    例如,

    POST ... type=single&req=(user object)...为第一个。

    POST ... type=array&req=[user object]...为第二个。

    使用 switch case 或 if 检查服务器上的类型。


    Tim 说,发送数据并检查服务器上的类型。

相关问题