Стандартизирован ли метод HTTP SEARCH? - PullRequest
1 голос
/ 04 августа 2020

Я думаю о том, как реализовать конечную точку REST API для поиска. На мой взгляд, у меня есть четыре варианта реализации параметров поиска, каждый со своими плюсами и минусами:

  1. Использовать конечную точку GET с параметрами строки запроса
  2. Использовать конечную точку GET с полезная нагрузка (например, JSON полезная нагрузка)
  3. Использовать конечную точку POST с полезной нагрузкой
  4. Использовать конечную точку ПОИСКА с полезной нагрузкой

Для полноты здесь - плюсы и минусы, о которых я думаю:

  • конечная точка GET с параметрами строки запроса
    • Pro - точный глагол, соответствующий стандартам
    • Con - ограниченная структура параметров (ключ / только значения) и ограничение размера URL
  • конечная точка GET с полезной нагрузкой (например, JSON полезная нагрузка)
    • Pro - точный глагол, без ограничения размера
    • Con - спецификации HTTP говорят, что запросы GET не имеют значимых полезных данных, и некоторые фреймворки могут не поддерживать его ( соответствующий вопрос )
  • конечная точка POST с полезной нагрузкой
    • Pro - Соответствует стандартам, без ограничений по размеру * 103 6 *
    • Con - поиск идемпотентен, а POST - нет. По сути, это неправильный глагол.
  • Конечная точка ПОИСКА с полезной нагрузкой
    • Pro - Точный глагол, без ограничения размера
    • Con - неясное ( нестандартный?) HTTP-глагол

Можно было бы провести длительное, детальное и самоуверенное обсуждение того, что из них лучше, но это обсуждение не является целью этого вопрос. Вместо этого я спрашиваю: глагол ПОИСК просто неясен и редко используется, но все еще является официальным методом, или он нестандартный?

Я нашел этот черновик метода, но не намного официальные документы об этом. Проект перекликается с некоторыми пунктами квадрилеммы, которую я сформулировал выше. Мне кажется, что этот метод все еще является черновиком и не может быть назван «стандартным», хотя я не очень хорошо знаком с тем, как читать эти документы. Я полагаюсь на программное обеспечение, соответствующее самопровозглашенным стандартам, для обработки метода ПОИСКА? И если они не справятся с этим, могу ли я подать апелляцию на их требование соответствия стандартам, чтобы заставить их справиться с этим? Если говорить еще дальше, то это надежный глагол?

1 Ответ

1 голос
/ 04 августа 2020

ПОИСК определяется в треке стандартов IETF в RF C 5323 . Тем не менее, в настоящее время он применим только к WebDAV, и немногие серверы поддерживают его.

...