はじめに
業務でKoaを使うことになったので、Githubのサンプルに沿って勉強していきます。ありがたや。
Node - Koa - Typescript Project の始め方
サンプルをクローン
mkdir sample-pjt && cd sample-pjt
git clone https://github.com/javieraviles/node-typescript-koa-rest #先にForkしましょうね、一応。
cd node-typescript-koa-rest
ローカルで開発する場合の微修正
SSLの説明で書かれている通り、server.tsの微修正が必要です。
server.ts
...
createConnection({
type: 'postgres',
url: config.databaseUrl,
synchronize: true,
logging: false,
entities: config.dbEntitiesPath,
ssl: config.dbsslconn, // if not development, will use SSL
// ↓この中身をコメントアウトする
extra: {
// ssl: {
// rejectUnauthorized: false, // Heroku uses self signed certificates
// },
},
})
...
また、.example.envを.envに修正します。
DBコンテナをホスト
docker-compose up
ローカル開発スタート
yarn watch-server
DBの動作確認
とりあえずmigrationが成功していることがわかります。
docker-compose exec db psql -U user apidb
apidb=# \dt
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | user | table | user
(1 row)
apidb=# select * from "user"; #ちゃんと"user"にしてくださいね。一応。
id | name | email
----+------+-------
(0 rows)
JWTの設定
説明に書いてある通り、Bearerトークン(下記)を設定してリクエストします。
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJuYW1lIjoiSmF2aWVyIEF2aWxlcyIsImVtYWlsIjoiYXZpbGVzbG9wZXouamF2aWVyQGdtYWlsLmNvbSJ9.rgOobROftUYSWphkdNfxoN2cgKiqNXd4Km4oz6Ex4ng
POSTMANでの動作確認
最後に
このサンプルはリクエストのvalidationやJWTのハンドリングを全て示してくれています。ありがたく使わせていただきましょう。
↧