Nanolier

アプリケーション開発に進みたいフロントエンドエンジニアのために練習用APIを作った

2022/11/27

プログラミングを教えていて、JavaScript の理解度を確認するためにアプリケーションを作ってもらおうと思ったのですが、API 連携を含めたものを作るときにちょうど良い題材がなかったため自分で作成しました。
自分がメンターをしている方の教育用に作成しましたが、フロントエンド開発初心者の誰でも利用できるようにしたかったため、ソースコード等は全て公開しています。

API概要

よくあるメモアプリです。
機能としてはメモの作成、変更、一覧取得、詳細取得、削除のみのシンプルな構成になっています。

リポジトリ

下記コマンドでローカルリポジトリにクローンできます。

git clone git@github.com:sho-ts/practice-api-for-frontend-beginner.git

事前準備

この API を使用するためには Go と Docker の環境が PC に必要です。
下記サイト等を参考にお使いの PC にインストールしてください

また、クローンしたリポジトリの.env.exampleのファイル名を.envに変更してください。

Docker起動

MySQLとSwaggerはdocker環境で起動します。
下記コマンドで起動してください。

docker-compose up -d

停止するときは下記コマンドで停止してください。

docker-compose down

APIサーバー起動

APIサーバーはGoで動作します。
下記コマンドで起動してください。

go run main.go

サーバーは下記ポートで起動しています

localhost:18080

各エンドポイントの確認

各エンドポイントのリクエスト、レスポンスの内容はSwaggerに記載しています。
デフォルトでは下記ポートで確認することができます。

localhost:18081

Swagger

APIのエンドポイントにリクエスト

Postmanを使用して以下のエンドポイントへPOSTリクエストを飛ばしてみます。

localhost:18080/v1/note

リクエストBodyは以下のようにします。

{
    "title": "Hello World!",
    "content": "これはAPIの動作テストです"
}

問題なければ以下のようなレスポンスが返ってきます。

APIリクエスト

上記以外のAPIについては、Swaggerに記載していますのでご確認ください。

最後に

このリポジトリは教育をする際に利用、改変していただいてかまいません。許可等も不要です。
ただし、セキュリティ面は考慮していないためパブリックなサーバーにデプロイはしないようご注意ください。

お疲れ様でした。