[nodejs] Fastify 라우팅 방법
Fastify는 빠르고 효율적인 웹 프레임워크로, 라우팅을 효과적으로 관리할 수 있는 강력한 기능을 제공합니다. 이번 게시물에서는 Fastify에서 라우팅을 설정하고 사용하는 방법을 살펴보겠습니다.
Fastify 라우트 정의하기
라우트를 정의하는 가장 간단한 방법은 GET
, POST
, PUT
, DELETE
등의 HTTP 메소드에 대해 경로 및 핸들러 함수를 지정하는 것입니다.
const fastify = require('fastify')();
fastify.get('/hello', (req, reply) => {
reply.send({ message: 'Hello, World!' });
});
fastify.post('/users', (req, reply) => {
// 사용자 생성 로직을 추가합니다.
});
매개변수화된 라우트
경로에 동적으로 변하는 값을 포함하여 라우트를 정의할 수 있습니다. :id
형태의 매개변수를 사용하여 이를 구현할 수 있습니다.
fastify.get('/user/:id', (req, reply) => {
const userId = req.params.id;
// 사용자 ID에 기반한 로직을 추가합니다.
});
라우트에서의 미들웨어 사용
Fastify에서는 라우트 내부 또는 외부에서 미들웨어를 사용할 수 있습니다.
const preHandlerFunction = (req, reply, done) => {
// 전처리 로직을 추가합니다.
done();
};
fastify.get('/protected', { preHandler: preHandlerFunction }, (req, reply) => {
// 보호된 라우트 로직을 추가합니다.
});
404 핸들링
정의되지 않은 경로에 대한 404 오류를 처리하는 방법은 다음과 같습니다.
fastify.setNotFoundHandler((request, reply) => {
reply.code(404).send({ message: 'Not Found' });
});
Fastify를 사용하면 이제 강력하고 유연하게 라우팅을 정의하고 제어할 수 있습니다.
이상으로 Fastify의 라우팅에 대한 간략한 소개를 마치겠습니다.
참고문헌:
- https://www.fastify.io/docs/latest/Routes/
- https://github.com/fastify/fastify