Fastify는 빠르고 효율적인 웹 프레임워크로, Node.js 애플리케이션의 성능을 향상시킬 수 있습니다. Fastify를 사용하면 HTTP 요청 및 응답을 처리하는 방법에 대해 간단히 알아볼 수 있습니다.
HTTP Server 만들기
먼저, Fastify를 사용하여 간단한 HTTP 서버를 만들어보겠습니다. 아래는 Fastify를 사용하여 기본적인 HTTP 서버를 만드는 예제 코드입니다.
const fastify = require('fastify')()
fastify.get('/', async (request, reply) => {
return { hello: 'world' }
})
fastify.listen(3000, (err, address) => {
if (err) throw err
console.log(`Server listening on ${address}`)
})
위 코드에서 fastify()
함수를 사용하여 Fastify 인스턴스를 생성하고, get()
메서드를 사용하여 루트 경로의 GET 요청에 대한 핸들러를 정의합니다. 요청 핸들러 함수는 request
와 reply
매개변수를 받아들이고, 비동기로 처리됩니다. 마지막으로 listen()
메서드를 사용하여 서버를 특정 포트로 바인딩합니다.
요청 처리
Fastify를 사용하면 다양한 유형의 HTTP 요청을 처리할 수 있습니다. 예를 들어, GET
, POST
, PUT
, DELETE
등의 HTTP 메서드에 대한 요청을 각각 다른 핸들러 함수로 처리할 수 있습니다.
fastify.post('/user', async (request, reply) => {
// 사용자 생성 로직
return { user: 'created' }
})
위의 코드는 POST 요청을 처리하는 핸들러 예제입니다. /user
경로로의 POST 요청이 올 경우, 해당 요청을 처리하는 핸들러 함수가 실행됩니다.
응답 처리
요청을 처리한 후에는 적절한 응답을 생성하여 클라이언트에 반환해야 합니다. Fastify를 사용하면 간단하게 JSON 형식으로 응답을 반환할 수 있습니다.
fastify.get('/user/:id', async (request, reply) => {
const userId = request.params.id
// 사용자 정보 조회 로직
const user = { id: userId, name: 'John Doe' }
reply.send(user)
})
위의 코드에서 reply.send()
메서드를 사용하여 JSON 형식의 응답을 반환합니다. 요청 핸들러 함수 내부에서 필요한 비즈니스 로직을 처리한 후, 적절한 데이터를 응답으로 전송합니다.
결론
Fastify는 빠른 속도와 강력한 기능을 갖춘 웹 프레임워크로, Node.js 애플리케이션을 개발하고 운영하는 데 매우 유용합니다. Fastify를 사용하여 HTTP 요청 및 응답을 처리하는 방법에 대해 알아보았습니다.
더 많은 정보를 원하시면 Fastify 공식 문서를 참고하시기 바랍니다.