Quick Start
Installation
Install these packages on server
sh
npm install dredge-route dredge-adapterssh
yarn add dredge-route dredge-adapterssh
pnpm add dredge-route dredge-adaptersInstall this on client
sh
npm install dredge-fetchsh
yarn add dredge-fetchsh
pnpm add dredge-fetchHello World
Let's create a simple Get: /hello-world endpoint which return Hello World as response.
1. Create The route
ts
// route.ts
import { dredgeRoute } from 'dredge-route';
export const route = dredgeRoute();ts
// hw-route.ts
import { route } from './route'
export const hwRoute = route
.path('/hello-world')
.get()
.use((req, res) => {
return res.end({
data: 'Hello World',
headers: {
'Content-Type': 'text/plain'
}
})
})2. Create router
ts
// root-router.ts
import { dredgeRouter } from 'dredge-route';
import { hwRoute } from './hw-route'
export const rootRouter = dredgeRouter([hwRoute]);
export type RootRouter = typeof rootRouter;3. Serve the API with an Adapter
Pass the created router to the adapter.
ts
// server.ts
import { createHTTPServer } from 'dredge-adapters'
import { rootRouter } from './root-router'
const server = createHTTPServer({
router: rootRouter,
})
server.listen(3000)4. Create client
Import the RootRouter type and build the client with it, Make sure to pass the correct prefixUrl.
ts
// client.ts
import { dredgeFetch } from 'dredge-fetch'
import type { RootRouter } from './root-router'
const client = dredgeFetch<RootRouter>().extends({
prefixUrl: 'http://localhost:3000',
})
const data = await client.get('/hello-world').data() // Hello World