Вопрос по api, rest, php, zend-framework – Разница между выводом нормального API и API REST

20

В чем разница между REST API и обычным API (который печатает ответ JSON)?

Ваш Ответ

2   ответа
16

ром, а не то, что сервер должен вернуть в ответ. Большинство веб-приложений взаимодействуют со стороной сервера с помощью запросов POST или GET с любой дополнительной информацией, необходимой для выполнения запроса при отправке формы для POST или строки запроса для GET. Поэтому, если вы хотите удалить что-то с сервера, они обычно выполняют POST с формой, содержащей данные, которые указывают ресурс вместе с инструкцией по его удалению.

Однако HTTP реализует методы (также известные как глаголы), отличные от GET или POST. Он также реализует, среди прочего, HEAD (возвращает те же заголовки, которые вы сделали бы для GET, но без тела ответа), PUT (принимает тело запроса и сохраняет его содержимое по любому URL-адресу, на который был отправлен запрос PUT), и УДАЛИТЬ (Удалить любой ресурс, который существует по указанному URL). Интерфейс REST просто использует эти дополнительные глаголы, чтобы определить смысл запроса к серверу.

Browsers обычно поддерживают только GET и POST для «обычных» (не XHR) запросов, но такие инструменты, как Curl, могут выдавать полный набор HTTP-глаголов. Вы также можете использовать дополнительные глаголы с методами, основанными на XHR, такими как AJAX.

Вам все равно придется предоставить традиционный не-REST API для использования браузерами, если только вы не заставляете javascript и XHR поддерживать требования для использования вашего приложения.

Привет, я хочу создать API, который будет использоваться мобильными приложениями, а также веб-сайтами. Как лучше всего использовать API (REST или Non REST)? Shaolin
7

как это было задумано. ИспользоватьGET Метод HTTP на URL для получения информации, возможно в различных форматах на основе HTTPAccept заголовки. ИспользоватьPOST HTTP метод для создания новых элементов на сервере,PUT для редактирования существующих элементов,DELETE чтобы удалить их. Сделайте API идемпотентом, то есть повторение одного и того же запроса с одинаковой информацией должно дать тот же результат. Структурируйте свои URL-адреса иерархически и т. Д.

REST - это руководящий принцип, как использовать URL и протокол HTTP для структурирования API. Он ничего не говорит о форматах возврата, которые также могут быть и JSON.

Это противоположно, например, API-интерфейсам, которые отправляют двоичные или XML-сообщения на назначенный порт, не используя различий в методах HTTP или URL-адресах вообще.

Похожие вопросы