Для эффективной работы с REST API важно знать основные методы HTTP и то, что делает каждый из них.
Из 39 методов http разработчики обычно используют методы «GET», «POST», «PUT», «PATCH» и «DELETE».
В этой статье я расскажу вам о разнице между 5 вышеупомянутыми методами и о том, когда их следует использовать.
✔ GET
Метод GET используется для получения ресурсов с сервера. Считается, что это безопасный метод, поскольку он никак не изменяет состояние ресурса.
Метод GET является идемпотентным, поэтому вызов этого метода несколько раз всегда будет давать один и тот же результат.
Примеры URI
HTTP GET 'http://www.apidomain.com/users'
HTTP GET 'http://www.apidomain.com/users?size=20&page=5'
HTTP GET 'http://www.apidomain.com/users/123'
HTTP GET 'http://www.apidomain.com/users/123/address'
✔ POST
Метод POST используется для создания нового ресурса в коллекции ресурсов на сервере.
Важно отметить, что POST является неидемпотентным. Поэтому вызов двух одинаковых POST-запросов приведет к созданию дублирующей информации на сервере.
Примеры URI
HTTP POST 'http://www.apidomain.com/users'
HTTP POST 'http://www.apidomain.com/users/123/accounts'
✔ PUT
PUT используется для обновления существующего ресурса на сервере, при этом обновляется весь ресурс.
Если ресурс не существует, PUT может решить создать новый ресурс.
Метод PUT является идемпотентным, поэтому при многократном вызове этого метода один и тот же ресурс всегда будет обновляться несколько раз.
Примеры URI
HTTP PUT 'http://www.apidomain.com/users/123'
HTTP PUT 'http://www.apidomain.com/users/123/accounts/456'
✔ PATCH
PATCH используется для обновления существующего ресурса на сервере, при этом обновляется часть ресурса.
Если ресурс не существует, PUT может принять решение о создании нового ресурса.
Как и метод PUT, PATCH также является идемпотентным.
Примеры URI
HTTP PATCH 'http://www.apidomain.com/users/123'
HTTP PATCH 'http://www.apidomain.com/users/123/accounts/456'
✨PATCH против PUT
Метод PUT в первую очередь полностью заменяет весь существующий ресурс, а PATCH частично обновляет существующий ресурс.
Метод PATCH не является заменой метода PUT. Он применяет дельту (разницу), а не заменяет весь ресурс.
✔ DELETE
Метод DELETE используется для удаления ресурсов с сервера. Он удаляет ресурс, идентифицированный по Request-URI.
Метод DELETE является идемпотентным.
Заключение
Как бэкенд-разработчик, очень важно следовать стандартному подходу при создании API.
Bentil здесь🚀
Если вам нравится мой контент, вы можете поддержать меня здесь, чтобы продолжать работу.👇
Дайте мне знать о ваших вопросах или предложениях в поле для комментариев ниже