Go LangでWebAPIを作成するために、GolangでエンドポイントにアクセスしDBからデータを取得する

nove-b December 4, 2023
Source
  1. Go LangでWebAPIを作成するために、GolangでMySQLに接続する
  2. Go LangでWebAPIを作成するために、Golangでサーバーを立ち上げる

でDBと接続することはできたし、サーバーを立ち上げることに成功した。

User情報を取得するAPIを作成する

次は、特定のエンドポイントにアクセスした際に、DBからデータを取得する。

具体的にはhttp://localhost:8081/usrsにアクセスした際にusersテーブルのデータを取得できるようにしたい。

エンドポイントを作成する

まずはhttp://localhost:8081/usrsのエンドポイントを作成する。

handleRequestsをmain関数の中で実行すればhttp://localhost:8081/usrsにアクセスした際に

と表示されるようになった。

ちになみに、

上記のwが謎で調べてみたところ、

w を使用して Write メソッドを呼び出すことで、HTTPレスポンスの本文をクライアントに送信することができます。fmt.Fprintf(w, "Welcome to the sample!") は、fmt.Fprintf 関数を使用してフォーマットされた文字列を w.Write を介してクライアントに送信しています。

とのことだった。

いまいち理解しかねるけれど、なんとなく必要なことは分かった。

DBのデータをフェッチする

次にhttp://localhost:8081/usrsにアクセスした際にDBの値を返すようにしてみる。

まずはDBに接続する関数を作成する。 これは前回も作成した。

次に、DBからFetchする関数を作成する。

最後にエンドポイントにアクセスした際にfetchUsersを実行するように設定する。

これでhttp://localhost:8081/usersにアクセスすると、

が取得できた。

全体像はこんな感じ。

全体のコード

全体のコード(リファクタリング版)

ここまでをリファクタリングしてみる。

.envを使用するために、

を実行する必要がある。

Discussion in the ATmosphere

Loading comments...