когда уместно использовать запрос «получить против сообщения» - PullRequest
0 голосов
/ 16 февраля 2020

Фон

Предположим, у меня есть следующие данные, которые я собираю, основываясь на данных некоторых пользователей, заполнивших форму:

{
  "brand": "Nike",
  "size": [
    "small",
    "medium"
  ]
}

Теперь скажем Я хочу передать эти данные в некоторые API, в моем случае я создам API-шлюз, который перенаправит этот запрос в aws лямбда-функцию. Запрос лямбда-функции обработает этот запрос и просмотрит мой экземпляр rds, чтобы получить все рубашки малого и среднего размера и вернуть мне данные в качестве ответа.

Мой вопрос:

Когда я делаю ajax вызов API, это будет запрос на получение или пост-запрос ??

Технически я не собираюсь изменять базу данных, а скорее сделаю чтение в базе данных что-то вроде select * from nike where size = 'small' and size = 'medium'

Я запутался, потому что я предполагал, что всякий раз, когда мы пытаемся «получить» / прочитать некоторые данные, мы делаем запрос GET. Однако я наткнулся на сообщение THIS stackoverflow. где принятый ответ предполагает, что когда мы передаем данные длиной, как я выше, нам лучше сделать запрос POST.

Так что мой ajax вызов будет выглядеть примерно так:

var data =  {
      "brand": "Nike",
      "size": [
        "small",
        "medium"
      ]
    }


$.ajax({
  type: "POST",
  url: "apigatewayendpointblahblah",
  data: data,
  success: success,
  dataType: dataType
});

1 Ответ

2 голосов
/ 16 февраля 2020

Протокол отдыха имеет строгие определения методов, которые вы должны использовать. когда вы извлекаете данные, не изменяя их, вы должны использовать запрос GET.

Обратите внимание, что GET требует параметры запроса, а не параметры тела, которые затем можно использовать в качестве ссылки для совместного использования страниц.

Подробнее см. https://restfulapi.net/http-methods/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...