Краткий справочник

Шпаргалка по Superagent

Краткое руководство по HTTP-клиенту Superagent в JavaScript: GET и POST запросы, заголовки, параметры строки запроса и свойства ответа.

· Опубликовано

Superagent — прогрессивная, легковесная библиотека для отправки HTTP-запросов в браузере и Node.js.

Выполнение запросов

GET-запрос

const superagent = require('superagent')

superagent
  .get('/api/users')
  .query({ role: 'admin', page: 2 })
  .set('Accept', 'application/json')
  .end((err, res) => {
    if (err) return console.error(err)
    console.log(res.status)
    console.log(res.body)
  })

Стиль с промисами и Async/Await

try {
  const res = await superagent
    .post('/api/users')
    .send({ name: 'John Doe', email: '[email protected]' })
    .set('Authorization', 'Bearer token123')

  console.log(res.body)
} catch (err) {
  console.error(err.response ? err.response.body : err.message)
}

POST-запросы и передача JSON

superagent
  .post('/api/items')
  .send({ item: 'Widget', qty: 10 })
  .set('X-API-Key', 'secret')
  .then(res => console.log(res.body))

Формы Multipart и загрузка файлов

superagent
  .post('/upload')
  .field('title', 'Profile Picture')
  .attach('avatar', 'path/to/avatar.png')
  .then(res => console.log('Uploaded!'))

Свойства объекта ответа (Response)

Свойство Тип Описание
res.body Object Разобранное тело ответа (JSON / Form)
res.text String Необработанный сырой текст ответа
res.status Number Код состояния HTTP (например, 200, 404)
res.header Object Объект заголовков ответа
res.ok Boolean True, если статус в диапазоне 2xx
res.clientError Boolean True, если статус в диапазоне 4xx
res.serverError Boolean True, если статус в диапазоне 5xx
res.type String Content-Type без параметров

Связанные темы