📌

【Node.js】新旧漢字コンバートAPIを作成してGlitchで公開してみました。

2021/10/20に公開

概要

  • 旧漢字もしくは旧漢字がある漢字を受け取り、文字列を置換して返すAPI

例) 蛍柄の螢光灯

No 説明 返値
1 新漢字→旧漢字 螢柄の螢光灯
2 旧漢字→新漢字 蛍柄の蛍光灯
3 旧漢字が含まれるか true
4 旧漢字存在する新漢字が含まれるか true
5 存在した旧漢字数 1

きっかけ

業務上で旧漢字と新漢字を変換するプログラム開発があり、
API経由でコンバートしてくれる仕組みがあれば便利だと思い開発に至った。
※その時は一から実装しましたが、自分と同じ考えの人も少なからずいると思ったので…

またAPIを作成しても周知しなければ使用してもらえないと思い、初めて投稿することにした。

環境

環境 名前 バージョン
実行環境 Docker 20.10.8
エディタ VSCode 1.61.1
言語 Node.js 15.14.0
フレームワーク Express 4.16.1
バージョン管理 Git,GitHub 2.25.1
ホスティング Glitch -

API仕様

URI

GET https://api.lesson-pg.com/v1/kanji/

Request

パラメータ 備考
article String /v1/kanji/?article=螢が飛んでいる 旧漢字/新漢字を含む文章を渡す
(※500 文字まで)

Response Body

Response 200 (application/json)

{
  "old": "螢が飛んでいる",
  "new": "蛍が飛んでいる",
  "includedOld": true,
  "includedNew": false,
  "count": 1
}
プロパティ 備考
old String 螢が飛んでいる 新漢字を旧漢字へ変換した値
new String 蛍が飛んでいる 旧漢字を新漢字へ変換した値
includedOld Bool true 旧漢字が含まれるか
includedNew Bool true 旧漢字が含まれるか
count Integer 1 存在した旧漢字数

Response 400 (application/json)

{
  "message": "The maximum number of characters (500 characters) has been exceeded"
}

Response 404 (application/json)

{
  "message": "Not Found"
}

Response 405 (application/json)

{
  "message": "Method Not Allowed"
}

実行テスト

API開発では今まで「Postman」を使用していたが、今回はVSCode拡張機能「Thunder Client」を使用 ※VSCodeで完結できるため採用

Thunder Clientをインストール/有効化

WS000000.JPG

リクエスト作成

WS000001.JPG
WS000004.JPG

パラメータを入力後「Send」ボタンをクリック

実行

WS000003.JPG
※値が返ってきていることを確認できた

公開(Glitch)


- Glitchの特徴

ある程度の制約はあるが、無料でNode.jsやReactのアプリを公開することができる。
独自ドメインを使用できる。
GitHubからソースコードを紐づけることができる。

※1時間あたり4000リクエストに制限されている

公開手順

  1. GitHubにリポジトリ作成後、ソースコードをアップしておく
  2. GlitchにログインNew projectImport from Github
  3. インポート後、自動でインストール関係が走る

成功すればステータスがOKになる

  1. インストール完了後、自動でURLが割り当てられる
  2. 独自ドメインを割り当てる場合CNAMEに指定されたドメインを登録



リンク

細かい仕様やソースコードはこちらにあります↓
https://github.com/uswebk/KanjiConvertAPI

今後

  • 一般の人向けに、今回作成したAPIを流用して管理画面から使用できるようにしたい。
  • アクセス数が分かるようログを取りたい。

アドバイスや改善点があればお申し付けください。

Discussion