1. Что такое API
Чтобы узнать, что такое RESTful API, мы должны сначала узнать, что такое API.
API (интерфейс прикладного программирования,заявлениеинтерфейс) являются некоторыми предопределеннымифункция, или относится к соглашению о соединении различных компонентов программной системы. [1] Цель состоит в том, чтобы обеспечитьзаявлениес разработчиками на основепрограммное обеспечениеили оборудование для получения доступа к наборурутинавозможность без доступа к исходному коду или понимания внутренней работымеханизмподробности. (цитата из энциклопедии Baidu)
Например: например, когда мы идем в KFC, чтобы купить бургер, нам не нужно знать, как сделан бургер, вы можете получить бургер после оплаты.
KFC — это сервер, вы — клиент, а деньги — это параметр, который вы просите у KFC, чтобы получить бургер.
Например, если вы хотите использовать воду, вам не нужно производить воду самостоятельно, вам нужно только вызвать воду, произведенную водным заводом, и водная фабрика направит воду в трубы вашего дома. нужно открыть кран, и вода пойдет. Процесс открытия водяного дракона вызывает API водяного растения.
Вызов API — это процесс оплаты денег и их доставки, а приготовление гамбургеров — это работа, стоящая за API.
ps: Вышесказанное должно объяснить, что такое API для людей, которые не разбираются в компьютерах.
С компьютерной точки зрения, одним из каналов, которые программы используют для доступа к коду, написанному другими, является API.
Например, если вашей программе нужна платежная функция Alipay, если вы хотите реализовать платежную функцию самостоятельно, вам нужно обратиться в банк для подключения, вам нужно подать заявку на платежную лицензию, а затем написать программу. можете создать финансовую компанию самостоятельно.Но теперь вы не хотите создавать финансовую компанию, вы просто хотите использовать платежную функцию Alipay, что вам делать?Вы можете использовать интерфейс Alipay, когда вы звоните платежную функцию в вашей программе, вы на самом деле запрашиваете платежную функцию Alipay. Вам не нужно думать о том, как реализована платежная функция Alipay и какой язык используется для ее реализации, вам просто нужно запросить платежный запрос Alipay в соответствии с Технические характеристики. Это API, который вызывает Alipay.
2. Что такое ОТДЫХ
REST is Representational State Transfer (англ. Representational State Transfer, сокращенно REST) — это своего рода метод, предложенный доктором Роем Филдингом в его докторской диссертации в 2000 году.Архитектура программного обеспечениястиль. этоИнтернет-приложениеЭто может уменьшить сложность разработки и улучшить масштабируемость системы. (Цитата из энциклопедии Baidu)
Выразительный государственный перевод, что это такое, кто может понять, меня вырвало на этот китайский и английский дословный перевод.
- REST описывает форму взаимодействия между клиентом и сервером в сети. REST не является протоколом и сам по себе не играет большой роли. Что практично, так это то, как разработать RESTful API (интерфейс в стиле REST).
Зачем использовать структуру RESTful?
Предыдущие веб-страницы были полностью интегрированы с интерфейсом и сервером, например, предыдущий JSP и так далее. В предыдущую эру ПК не было проблем, но в последние годы мобильный Интернет быстро развивается, и существует множество интерфейсных фреймворков.Если мы до сих пор не разделяем интерфейс и сервер, одно из них стоимость обучения очень высока, а другая причина заключается в том, что частота повторения кода слишком высока. Мы сделали много повторяющихся действий, и уровень повторного использования кода невелик. Использование метода интерфейса может сделать код скорость повторного использования выше, как показано на следующем рисунке
Почему бы не использовать общий интерфейс, например, если вы хотите получить погоду города с вашего веб-сайта, возможно, вам приходилось так проектировать раньше.
https://xxx/getWeather?city=深圳
Таким образом, вы должны передать в бэкэнд два параметра, что выглядит очень раздутым.
Проектируя интерфейс RESTful, вы можете спроектировать его таким образом.
GET https://xxx/weathers/深圳
Таким образом, нам нужно передать бэкенду только один параметр, что выглядит очень лаконично, а наш URI использует существительные, а не глаголы. Переключение ресурсов достигается с помощью HTTP-глаголов. Конкретный способ реализации описан ниже.
Вышеизложенное является причиной, по которой мы хотим использовать структуру RESTful API.
В-третьих, как спроектировать систему со структурой RESTful API.
-
В URI вместо глаголов используются существительные. Рекомендуется использовать множественное число для перехода к ресурсам через HTTP-глаголы.
-
Неправильно
/getOrders
listCitys
/getWeathers?city=深圳
-
правильный
GET /orders/1
: возвращает заказ с номером заказа 1POST /orders
: добавить заказDelete /orders/1
: удалить заказ с номером заказа 1PUT /orders/1
: обновить заказ с номером заказа 1
-
-
Гарантируется, что в методе делается только одно, и состояние ресурса не изменится. Например, не допускается следующее
GET /updateOrder?id=1
-
Используйте правильный код состояния HTTP, чтобы указать состояние возвращенного запроса. Например
{"code":"200"}
Выше приведен пример того, как спроектировать простую систему структуры RESTful API.
Tips:
Передача данных на внешнем и внутреннем интерфейсе может осуществляться в формате json или xml, я все же предпочитаю передачу в формате json, что более удобно.
Например, чтобы запросить температуру города, результат, возвращаемый xml, будет таким:
<city>
<name>深圳</name>
<temperature>26</temperature>
<code>200</code>
</city>
Возврат с json выглядит так
{
"city":
{
"name":"深圳",
"temperature":"26",
"code":200
}
}