Отправка HTTP-запросов¶
Для осуществления HTTP-запросов к стороннему API в Node js приложении, работающим в связке с Express, используется устанавливаемый npm модуль request
.
1 |
|
Модуль request
для разных типов HTTP методов реализовывает одноименные функции:
get
;post
;put
;delete
.
Пример GET-запроса.
app.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Метод get()
принимает аргументами URL, к которому необходимо выполнить запрос, и callback-функцию.
Callback-функция принимает три параметра:
- ошибку;
- объект ответа;
- отправленные в качестве ответа данные.
Пример POST-запроса.
post.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Для отправки методом post()
данных в качестве первого аргумента передается объект со свойствами url
и form
, в которых задается URL, к которому необходимо выполнить запрос, и сами данные, которые задаются в качестве значения свойству body
, соответственно. Вторым параметром передается callback-функция.
Если необходимо передать в запросе файлы, то данные необходимо преобразовать в объект formData
, которые при отправке указываются в одноименном свойстве.
post-form-data.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
Для задания в Node.js request HTTP-заголовков первым аргументом вместо строки, задающей URL, передайте объект в следующем формате.
post-headers.js
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Пример выполнения DELETE-запроса.
delete.js
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Если вам удобнее работать с объектами Promise
или вы хотите использовать конструкцию async/await
, тогда в таком случае лучше использовать модуль request-promise.