У меня есть служба RESTful, которая возвращает подробные данные о машине по прилагаемому списку идентификаторов. GET API/машина/Как передать большое количество входных параметров службе RESTful?
http://service.com/api/machine/1,2,3,4
До сих пор это было хорошо, так как я получаю небольшое количество машин в то время, но сейчас мне нужно, чтобы получить все машины (более 1000). Это превышает ограничение на 2000 символов для URL-адресов.
У меня есть оба варианта ниже, чтобы работать, и я ищу некоторые отзывы сообщества о том, куда идти.
Вариант 1: Разделить мой GET. Сделайте несколько вызовов с подмножеством идентификаторов. Плюсы: Я делаю так, чтобы использовать HTTP-глагол GET имеет смысл. Минусы: Если человек, новый для службы, не знает об этом лимите или не использует моего клиента, это вызовет проблемы.
Вариант 2: Добавить метод PUT/POST и включить полный список идентификаторов в теле. Плюсы: Делает 1 звонок, чтобы получить все данные. Минусы: теперь я получаю от PUT/POST.
Служба отдыха в ваших руках или у вас есть шанс повлиять на службу REST? Если да, почему бы не использовать интервал: 'http: // rest/api/1-2000' – Alu
Если нет, я бы использовал второй вариант – Alu
Я бы сделал что-то вроде @Alu, предлагая его первый комментарий, какую-то разбивку на страницы. Какая польза от публикации результатов 2000 года? Создание POST/PUT для перечисления морских свиней не является RESTful, как могло бы. – Lucho