O Superagent é uma biblioteca progressiva e leve para requisições HTTP em navegadores e Node.js.
Fazendo Requisições
Requisição 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)
})
Estilo com Promise e 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)
}
Requisições POST e payloads JSON
superagent
.post('/api/items')
.send({ item: 'Widget', qty: 10 })
.set('X-API-Key', 'secret')
.then(res => console.log(res.body))
Formulários Multipart e upload de arquivos
superagent
.post('/upload')
.field('title', 'Profile Picture')
.attach('avatar', 'path/to/avatar.png')
.then(res => console.log('Uploaded!'))
Propriedades do Objeto de Resposta
| Propriedade | Tipo | Descrição |
|---|---|---|
res.body |
Object |
Corpo de resposta analisado (JSON / Formulário) |
res.text |
String |
Texto bruto não analisado da resposta |
res.status |
Number |
Código de status HTTP (ex: 200, 404) |
res.header |
Object |
Cabeçalhos da resposta |
res.ok |
Boolean |
Verdadeiro se o status for 2xx |
res.clientError |
Boolean |
Verdadeiro se o status for 4xx |
res.serverError |
Boolean |
Verdadeiro se o status for 5xx |
res.type |
String |
Content-Type sem parâmetros |