Отправка 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.