Fastifyって何?
Node.jsのWebフレームワーク。expressと書き方がとても近いが、より高速なレスポンスを行う。Node.jsフレームワークの中でも特にパフォーマンスが高いとされている。
導入
npm i fastify
動かしてみよう
以下は公式のサンプルコードにPOSTを付け足したもの。
index.ts
import Fastify from 'fastify'
const fastify = Fastify({
logger: true
})
fastify.get('/gets', function (request, reply) {
reply.send({ hello: 'world' })
})
fastify.post('/posts', function (request:any, reply) {
console.log(request.body);
reply.send({ id: request.body.id})
})
fastify.listen({ port: 3000 }, function (err, address) {
if (err) {
fastify.log.error(err)
process.exit(1)
}
})
ts-node src/index.ts
で動かす。
curlで確かめてみよう
curlを用いてこれらGET, POSTが動いているか確かめてみる。
GETを試す
curl -X GET localhost:3000/gets
これで以下の値が帰ってくればOK。
{"hello":"world"}
POSTを試す
'{"id":"3", "name":"testname"}'
というオブジェクトを送ってみる。
curl -X POST -H "Content-Type: application/json" -d '{"id":"3", "name":"testname"}' localhost:3000/po
sts
以下のような値が帰ってくる。
{"id":"3"}
また、index.ts
を起動しているサーバーを見てみると、以下のような出力が出ている。
{ id: '3', name: 'testname' }
値がちゃんと受け取れていることが確認できた。