Насколько мне известно, метод POST используется для отправки данных на сервер с параметром запроса в теле сообщения для обеспечения его безопасности. И метод GET заключается в получении данных с параметрами в URL.
Это, вероятно, мешает вам.
HTTP-запросы - это сообщения; каждое сообщение начинается с строки запроса
method SP request-target SP HTTP-version CRLF
Запрос-цель идентифицирует целевой ресурс, к которому следует применить запрос
Маркер метода указывает метод запроса, который должен быть выполнен на целевом ресурсе.
Вы можете думать, что он похож на вызов функции
GET(target-resource)
POST(target-resource, message-body)
Или эквивалентно вы можете думать о ресурсах как об объектах, которые поделитесь пониманием семантики сообщений
target-resource.GET()
target-resource.POST(message-body)
Но я не понял, как один и тот же API-интерфейс может вести себя по-разному, просто изменив метод.
так же, как API может демонстрировать различное поведение, просто изменяя цель запроса.
В HTTP строка запроса - это буквально читаемый текст, который анализирует сервер. Проанализировав строку запроса, серверная программа может затем перейти к любому коду, который она хочет использовать для выполнения работы, на основе значений, найденных в сообщении.
Во многих средах (Spring, Rails) логика ветвления c обеспечивается кодом платформы; Ваши обработчики на заказ должны быть только правильно зарегистрированы, и инфраструктура гарантирует, что каждый запрос будет перенаправлен на правильный обработчик.