REST API - используйте один и тот же URI и один и тот же метод для разных параметров, чтобы вызывать разные методы - PullRequest
0 голосов
/ 12 декабря 2018

У меня сложная ситуация, когда мне нужно использовать один и тот же URI для вызова операции POST, один с одним объектом, а другой с массивом объектов того же типа.Проблема в том, что я не могу изменить URI.например,

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

Я не могу изменить URI для 2-й операции, например / my-services / v1 / bulk -users

Итак, вопрос в том, как добавить такие методы в REST API?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Я бы сказал, добавить еще один параметр.

Например,

POST ... type=single&req=(user object)... для первого.

POST ... type=array&req=[user object]... для второго.

Вариант использования или если проверить тип на сервере.


Отправьте данные и проверьте тип на сервере, как говорит Тим.

0 голосов
/ 12 декабря 2018

В большинстве картографов JSON (в примере Jackson) вы можете установить свойство ACCEPT_SINGLE_VALUE_AS_ARRAY, которое в основном будет обрабатывать отдельный объект как массив, так что вы сможете определить свои конечные точки один раз (для коллекций).

Затем вы реализуете свою конечную точку, так как она всегда принимает Collection в качестве ввода, и она будет обрабатываться программой отображения, даже если клиент отправит один объект JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...