1.14.0 • Published 8 months ago
@aspida/node-fetch v1.14.0
@aspida/node-fetch
Getting Started
Installation
Using npm:
$ npm install aspida node-fetch @aspida/node-fetch $ npm install @types/node-fetch --save-dev
Using Yarn:
$ yarn add aspida 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);
}
}
})();
Serialize GET parameters manually
src/index.ts
import fetch from "node-fetch";
import aspida, { HTTPError } from "@aspida/fetch";
import qs from "qs";
import api from "../api/$api";
const fetchConfig = {
paramsSerializer: params => qs.stringify(params),
};
const client = api(aspida(fetch, fetchConfig));
(async () => {
const users = await client.v1.users.$get({
// config: { paramsSerializer: (params) => qs.stringify(params) },
query: { ids: [1, 2, 3] },
});
console.log(users);
// req -> GET: /v1/users/?ids%5B0%5D=1&ids%5B1%5D=2&ids%5B2%5D=3
// decoded -> ids[0]=1 &ids[1]=2 &ids[2]=3
// res -> [{ id: 1, name: "taro1" }, { id: 2, name: "taro2" }, { id: 3, name: "taro3" }]
})();
License
@aspida/node-fetch is licensed under a MIT License.
1.14.0
8 months ago
1.13.2
8 months ago
1.13.1
8 months ago
1.13.0
8 months ago
1.13.3
8 months ago
1.12.0
12 months ago
1.11.0
2 years ago
1.10.3
2 years ago
1.10.2
2 years ago
1.10.1
2 years ago
1.10.0
2 years ago
1.9.1
2 years ago
1.9.0
2 years ago
1.8.1
2 years ago
1.8.0
2 years ago
1.7.1
3 years ago
1.7.0
3 years ago
1.6.3
3 years ago
1.6.2
3 years ago
1.6.1
3 years ago
1.6.0
3 years ago
1.5.0
3 years ago
1.4.1
3 years ago
1.4.0
3 years ago
1.3.0
3 years ago
1.2.1
3 years ago
1.2.0
3 years ago
1.1.1
3 years ago
1.1.0
3 years ago
1.0.0
3 years ago
0.9.2
3 years ago
0.9.1
3 years ago
0.9.0
4 years ago
0.8.4
4 years ago
0.8.3
4 years ago
0.8.2
4 years ago
0.8.1
4 years ago
0.8.0
4 years ago
0.7.2
4 years ago
0.7.1
4 years ago
0.7.0
4 years ago
0.6.4
4 years ago
0.6.3
4 years ago
0.6.2
4 years ago
0.6.1
4 years ago
0.6.0
4 years ago
0.5.1
4 years ago
0.5.0
4 years ago
0.4.0
4 years ago
0.3.0
4 years ago
0.2.3
4 years ago
0.2.2
4 years ago
0.2.1
4 years ago
0.2.0
4 years ago
0.1.2
4 years ago
0.1.1
4 years ago
0.1.0
4 years ago