Вы можете практически использовать POST для выполнения всех операций CRUD, но вы не должны . Потому что у каждого HTTP-глагола есть своя ответственность.
GET должен быть идемпотентным и безопасным. GET может быть кэширован и в браузере, обновляться снова и снова. В идеале запуск GET-запроса не должен изменять данные.
Если метод HttpGet может удалить, может вставить, может обновить, а также может
Возвращаемое значение, то почему мы используем HttpPort, HttpPut и HttpDelete?
Представьте себе сценарий.
У вас есть метод веб-API, который добавляет новую запись в базу данных с помощью GET. Если ваш запрос GET становится ссылкой, и он сканируется поисковой системой. Ваша база данных будет заполнена повторяющимися данными. Так что в этом случае имеет смысл использовать POST.
Выбор подходящего метода
GET - запрашивает данные у ресурса и не должен вызывать побочных эффектов.
POST - метод запрашивает сервер о создании ресурса в базе данных, в основном, при отправке веб-формы. Сообщение не идемпотентно , что означает, что несколько запросов будут иметь разные эффекты.
PUT - метод запрашивает у сервера обновить ресурс или создать ресурс, если он не существует. Put является идемпотентом, что означает, что несколько запросов будут иметь одинаковые эффекты.
DELETE - метод требует, чтобы ресурсы или его экземпляр были удалены из базы данных.
POST против PUT
POST и PUT очень похожи в том, что они оба отправляют данные на сервер, которые серверу нужно где-то хранить. если вы делаете один и тот же запрос дважды, используя PUT, причем оба раза одни и те же параметры, второй запрос не будет иметь никакого эффекта. Вот почему PUT обычно используется для сценария обновления.
Есть и другие ограничения для разных глаголов Http.
- GET-параметры передаются как часть URL-адреса, который
ограниченная длина 256 символов по умолчанию, при этом некоторые серверы поддерживают
4000+ символов. Если вы хотите вставить длинную запись, вам придется использовать POST. Запись считается безграничной, но существуют ограничения, которые различаются в зависимости от браузера.
- GET повторно выполняется, если пользователь нажимает кнопку «Назад» в браузере. Сообщение не.
- GET кэшируется браузерами, узлами в сети, интернет-провайдерами.
- Если содержимое не изменяется, GET с тем же URL-адресом должен возвращать одинаковые результаты всем пользователям, иначе вы не будете доверять возвращаемому результату. и т.д.