Server-Side Development with Hapi.js — Query Parameters and Request Payloads

John Au-Yeung
3 min readFeb 20, 2021
Photo by bruce mars on Unsplash

Hapi.js is a small Node framework for developing back end web apps.

In this article, we’ll look at how to create back end apps with Hapi.js.

Query Parameters

We can get query parameters in our route handler with the request.query property.

For example, we can write:

const Hapi = require('@hapi/hapi');
const Hoek = require('@hapi/hoek');
const init = async () => {
const server = Hapi.server({
port: 3000,
host: '0.0.0.0',
});
server.route({
method: 'GET',
path: '/',
handler: function (request, h) {
return `Hello ${request.query.name}!`;
}
});
await server.start();
console.log('Server running on %s', server.info.uri);
};
process.on('unhandledRejection', (err) => {
console.log(err);
process.exit(1);
});
init();

In the route handler, we use the request.query.name property to get the name property value.

Then when we make a GET request to /?name=foo , we see:

Hello foo!

--

--