Go LangでWebAPIを作成するために、GolangでエンドポイントにアクセスしDBからデータを取得する
Go LangでWebAPIを作成するために、GolangでMySQLに接続する Go LangでWebAPIを作成するために、Golangでサーバーを立ち上げる でDBと接続することはできたし、サーバーを立ち上げることに成功した。 User情報を取得するAPIを作成する 次は、特定のエンドポイントにアクセスした際に、DBからデータを取得する。 具体的にはhttp://localhost:8081/usrsにアクセスした際にusersテーブルのデータを取得できるようにしたい。 エンドポイントを作成する まずはhttp://localhost:8081/usrsのエンドポイントを作成する。 func sample(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Welcome to the sample!") fmt.Println("Endpoint Hit: sample") } func handleRequests() { http.HandleFunc("/sample", sample) log.Fatal(http.ListenAndServe(":8081", nil)) } handleRequestsをmain関数の中で実行すればhttp://localhost:8081/usrsにアクセスした際に Welcome to the sample と表示されるようになった。 ちになみに、 fmt.Fprintf(w, "Welcome to the sample!") 上記のwが謎で調べてみたところ、 w を使用して Write メソッドを呼び出すことで、HTTPレスポンスの本文をクライアントに送信することができます。fmt.Fprintf(w, “Welcome to the sample!”) は、fmt.Fprintf 関数を使用してフォーマットされた文字列を w.Write を介してクライアントに送信しています。 とのことだった。 いまいち理解しかねるけれど、なんとなく必要なことは分かった。 DBのデータをフェッチする 次にhttp://localhost:8081/usrsにアクセスした際にDBの値を返すようにしてみる。 まずはDBに接続する関数を作成する。 これは前回も作成した。 func dbInit() *gorm.DB { dsn := "root:password@tcp(127....