REST API: значение методов HTTP (PUT, DELETE, POST, GET)
В области RESTful API фундаментальный Возникает вопрос: зачем использовать несколько типов HTTP-запросов, таких как PUT, DELETE, POST и GET? Важно понимать, что цель REST выходит за рамки простого доступа к данным с использованием самого простого метода.
Роль REST
Передача репрезентативного состояния (REST) архитектура обеспечивает содержательный способ взаимодействия с данными. Когда создается запрос REST, он должен немедленно передавать предполагаемое действие, которое необходимо выполнить.
Пример: запросы GET
Рассмотрим следующую конечную точку REST:
GET: /cars/make/chevrolet
Эта конечная точка, скорее всего, возвращает список автомобилей Chevrolet. Используя запрос GET, пользователь явно указывает, что он хочет получить данные, а не изменять их.
POST-запросы: создание данных
Для создания новых данных Обычно используется POST-запрос. Например:
POST: /cars/ { make:chevrolet, model:malibu, colors:[red, green, blue, grey] }
Этот запрос POST отправляет данные для создания нового Chevrolet Malibu с указанными цветами. API не обязательно привязан к базовой структуре базы данных, а вместо этого предоставляет интерфейс маскировки для защиты истинных данных.
Идемпотентность и методы HTTP
HTTP-методы, такие как GET , PUT и DELETE следуют принципу идемпотентности. Это означает, что повторные вызовы этих методов должны привести к одному и тому же состоянию сервера. POST, с другой стороны, обычно считается неидемпотентным, поскольку это может привести к разным состояниям сервера.
Реализация идемпотентности
Чтобы обеспечить идемпотентность с помощью запросов POST, рассмотрите возможность использования следующего шаблона:
POST: /cars/oldest?action=delete
Эта конечная точка явно определяет выполняемое действие (удаление), что делает его идемпотентным. Напротив, запрос типа:
Delete: /cars/oldest
может быть потенциально неоднозначным и неидемпотентным.
В заключение, использование определенных методов HTTP в REST API не является произвольным. Они служат для передачи предполагаемого действия (создание, чтение, обновление, удаление) и обеспечения идемпотентности системы. Придерживаясь этих соглашений, REST API обеспечивает содержательный и структурированный подход к манипулированию данными и взаимодействию.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3