Почему спокойный API?
Я должен убедить моих коллег принять REST API уровня 2 зрелости Ричардсона (по крайней мере). Они предпочитают использовать только глагол POST. Мои аргументы:
- с соответствующими глаголами мы можем извлечь пользу для производительности кеша (например: GET для идемпотентного запроса)
- с соответствующими глаголами мы будем стандартными, и мы можем легко сотрудничать с другими
- с соответствующими глаголами URL может быть явным
Не могли бы вы дать мне другие аргументы?
1 ответ
Не могли бы вы дать мне другие аргументы?
Возможно нет. REST - это архитектурный стиль, разработанный для решения проблемы, которой у вас, вероятно, нет.
Филдинг, запись в 2008 году:
REST предназначен для долгоживущих сетевых приложений, которые охватывают несколько организаций.
Если вы не видите необходимости в ограничениях, не используйте их.
Вы можете попробовать начать с метода GET, используя его для изоляции безопасных (не просто идемпотентных) операций. По сути, различие GET/POST (которое было частью стандарта с тех пор, как HTTP/1.0 совмещается с разделением командных запросов Бертрана Мейера и шаблоном CQRS. Или "разрешения на чтение и разрешения на запись", если вы хотите вернуться достаточно далеко.,
Но если это не согласуется с остальным пространством для вашего решения, то вы можете также добавить полотенце при получении, чтобы отличить идемпотентные записи от неидемпотентных записей.
Если бы мне пришлось угадывать, настоящая проблема в том, что ваша команда привыкла думать о HTTP как о системе обмена сообщениями, в которой удобно туннелировать через порт 80 (или в наши дни через 443), а не как приложение для обмена документами. Правильно выполненный REST API - это не отображение API вашего бизнес-домена в стандартный набор методов; скорее ресурсы в вашем REST API являются частью вашего интеграционного домена, используемого для маскировки вашей богатой доменной модели под маской скучного "веб-сайта" с "формами".
Вы можете рассмотреть два выступления Джима Уэббера: