海外で人気爆発中のNim言語でAPIサーバを作ってみた[Nim(Mofuw)+SQLite]
こんにちは、リバ邸スタートアップ住人の大輔です!最近Nim言語を書いていて、楽しくなってきたのでMofuwというフレームワークを使ってAPIサーバを作ってみました。日本ではNim言語ユーザがかなり少ないのでNimがどんな言語か簡単に説明すると、Pythonライクな記法で記述できて動作が高速(GoやElixirより早い)で、主にIoTに向いていて、最近海外で注目されているコンパイル言語です。
APIの概要
概要:ユーザ認証機能のあるAPI。
フレームワーク:Mofuw
DB:SQLite
認証:JWT認証
実装パターン:ドメイン駆動設計のオニオンアーキテクチャ
テスト:PostManコレクションを用意したので、APIを試してみたかったらPostmanがおすすめです。
コード:https://github.com/OdaDaisuke/mofuw-apiserver
使い方(Mac OS X)
# nimインストール
$ brew install nim
# nimbleインストール
$ git clone https://github.com/nim-lang/nimble.git && cd nimble && nim c src/nimble && src/nimble install
# 各種nimbleのモジュールをインストール
$ nimble install mofuw
$ nimble install dotenv
$ nimble install jwt
# .envファイルをコピー
$ cp .env.default .env
# サーバを起動
$ nimble server
# 1.PostManでまず「Register」を起動してアカウント登録
# 2.次に「GetToken」でJWTトークンを取得
# 3.取得したトークンをBearerにセットして「1」で登録したアカウント情報をセットして
# 「signin」「Me」にアクセスすればユーザ情報が取得できる
# 4.「Refresh」のBearerに「2」で取得したトークンを設定してアクションを起動すると
# 新しいJWTトークンが取得できる。
エンドポイント
POST - /api/get_token (mail_address, password)
PUT - /api/refresh (Authorization: "Bearer: old_access_token")
POST - /api/register (name, mail_address, password)
POST - /api/signin (mail_address, password)
POST - /api/me (mail_address, password)
この記事へのコメントはありません。