REST GET Design для необязательного параметра Param - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть прогностическая модель, которую я упаковываю в конечную точку REST. Под капотом конечная точка /forecast выбирает одну из сотен моделей, чтобы сделать прогноз на основе параметра GET feature_name.

У нас есть сценарий использования, чтобы получить все прогнозы из всех моделей с помощью одного HTTP-запроса. Должны ли мы:

  1. Сделать feature_name необязательным, и, если ничего не пропущено, вернуть прогнозы для всех моделей?
  2. Заставить пользователей передавать специальное слово, например 'all', на feature_name, если им нужны все прогнозы?
  3. Поддерживать две конечные точки, forecast и forecast_all?
  4. Что-то, о чем я не думал?

1 Ответ

1 голос
/ 09 апреля 2019

Идея использования конечной точки для /foo/{id} для отдельных элементов и отдельного /foo/ для получения коллекции всех элементов чрезвычайно распространена.

Я бы особенно предложил рассмотреть стандартные форматы дляREST коллекции. HAL является популярным.

Я недавно написал статью о коллекциях в службах REST.Может быть, это также полезно для большего контекста.

...