README
@aspida/node-fetch
node-fetch client for aspida.
Getting Started
Installation
Using npm:
$ npm install node-fetch @aspida/node-fetch $ npm install @types/node-fetch --save-dev
Using Yarn:
$ yarn add node-fetch @aspida/node-fetch $ yarn add @types/node-fetch --dev
Make HTTP request from application
src/index.ts
import fetch, { Response } from "node-fetch"
import aspida, { HTTPError } from "@aspida/node-fetch"
import api from "../api/$api"
const fetchConfig = {
baseURL: "https://example.com/api",
throwHttpErrors: true // throw an error on 4xx/5xx, default is false
}
const client = api(aspida(fetch, fetchConfig))
;(async () => {
const userId = 0
const limit = 10
await client.v1.users.post({ name: "mario" })
const res = await client.v1.users.get({ query: { limit } })
console.log(res)
// req -> GET: https://example.com/api/v1/users/?limit=10
// res -> { status: 200, data: [{ id: 0, name: "mario" }], headers: {...} }
try {
const user = await client.v1.users._userId(userId).$get()
console.log(user)
// req -> GET: https://example.com/api/v1/users/0
// res -> { id: 0, name: "mario" }
} catch (e) {
if (e instanceof HTTPError) {
console.log(e.response instanceof Response) // true
} else {
console.log(e.message)
}
}
})()
License
@aspida/node-fetch is licensed under a MIT License.