На моей веб-странице, если я хочу отображать динамические выпадающие списки (например, названия городов в зависимости от выбранной страны), я могу сделать это с помощью AJAX. Но я также могу сделать это с помощью вызова REST. Итак, что я должен использовать?
Моя проблема в том, что я действительно не вижу разницы между REST и любым другим запросом HTTP-браузера (он же форма отправки). Я посмотрел на формальные определения REST, и он кажется идентичным HTTP-запросу. Так чем же REST по своей сути отличается от AJAX?
Ответы:
Нет Эти два полностью ортогональны. Если вы хотите , чтобы обновить страницу с данными вы должны получить от сервера, вы будете делать это с помощью AJAX. Другого пути нет. И этот вызов AJAX может использовать REST или что-то еще.
REST вызов является запрос HTTP, всегда. Хотя он может использоваться для обработки обычных вызовов браузера (например, отправки форм) и возврата полных HTML-страниц, он обычно используется для обработки вызовов API, которые возвращают только данные (обычно в формате JSON).
Поскольку REST - это особый стиль использования HTTP, возможно, его используют в том виде, в котором он изначально был предназначен, но который большинство людей не «понимало» и поэтому редко использовалось в течение почти двух десятилетий.
В частности, REST означает кодирование объекта, который вы хотите получить или манипулировать в самом URL-адресе (обычно с помощью идентификатора), и кодирование того, какое действие вы хотите выполнить с ним в используемом методе HTTP (GET для получения, POST для изменения, PUT для создания УДАЛИТЬ для удаления).
источник
Что ж, я думаю, вам сначала нужно понять, что AJAX и REST не являются альтернативами для вашего варианта использования. AJAX означает асинхронный javascript и XML, поэтому, если вы используете javascript для загрузки данных после завершения запроса браузера, вы выполняете AJAX.
REST, с другой стороны, означает передачу представительного состояния, которая, как указал Стефан Билле, использует HTTP-запросы для передачи данных. Так что REST - это один из способов сделать AJAX. SOAP был бы еще один, но это оффтоп для вашего вопроса. Таким образом, ваш вопрос должен быть: «Какая технология лучше всего подходит для моего случая использования?»
В этом случае я бы рекомендовал подумать о количестве данных, используемых в ваших выпадающих списках. Если у вас есть только несколько элементов, вы можете разместить их на своей странице и просто использовать javascript, чтобы показать подходящие элементы. Вторым вариантом может быть использование вызова REST с JSON в качестве представления, потому что его легко использовать с javascript и он очень легкий, что, конечно, также означает использование AJAX.
источник
REST использует HTTP-глаголы GET, POST, PUT, DELETE, чтобы соответственно получать, вставлять, обновлять, удалять ресурсы на сервере. Например, GET с помощью url: controller / customer / {id}
. Альтернативой является добавление в контроллер таких методов, как GetCustomerById (id), InsertCustomer (customer), UpdateCustomer (customer), DeleteCustomer (customer). Это то, что известно как подход RPC. Например, GET с помощью url: controller / GetCustomerById? Id = {id}
Одно из отличий заключается в том, что REST-API является предсказуемым. Если вы знаете REST и знаете имя нужного вам ресурса (например, Customer), вы можете сразу же подключиться и использовать контроллер REST со стандартными глаголами.
При использовании RPC-подхода вам необходимо знать, какие методы используются на вашем контроллере, какие аргументы они принимают и т. Д. Эти сигнатуры могут варьироваться от контроллера к контроллеру, от приложения к приложению.
AJAX, с другой стороны, является просто асинхронным способом размещения вышеупомянутых запросов, будь то вызов REST или вызов RPC.
источник