api-def ·
Typed APIs with middleware support
API def provides a unified way to type your endpoints allowing for compile time checking of query, body, response and even url parameters
npm i api-def
import {Api} from "api-def";
const api = new Api({
baseUrl: "https://my-api/",
name: "My API",
});
const fetchData = api.endpoint()
.queryOf<{ includeAwesome: boolean; }>()
.responseOf<{ data: {awesome: boolean; } }>()
.build({
id: "fetch_data",
method: "get",
path: "/data"
});
// calls GET https://my-api/data?includeAwesome=true
const res = await fetchData.submit({
query: {includeAwesome: true}
});
console.log(res.data); // { data: { awesome: true } }