エンジニア採用担当がプログラミング頑張る話【16日目/2ヶ月間】
こんにちは、@hiroki_maekawaです。
昨日はGOPATHやらテストコードのエラー続きで終日パニックになってましたが、何とか解決したので、今日は落ち着いてRestfulAPIについて勉強していきたいと思います。
今日の目標
・APIサーバーの構築
APIサーバーの構築
Echo is a fast 🚀 and unfancy micro web framework for Go.
色んなサイトを見てみたのですが、数あるGoのwebフレームワークの中で「Echoが高速だし分かりやすいし良いよ〜」ということで、Echoを使ってAPIサーバーを構築することにしました。
Echoをインストール
$ go get -u github.com/labstack/echo
新規ファイル"server.go"を作成
$ touch "ファイル名"
公式ドキュメントに沿ってファイルに下記コードを打ち込んで、
package main
import (
"net/http"
"github.com/labstack/echo/v4"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Logger.Fatal(e.Start(":1323"))
}
サーバーを起動
$ go run server.go
するとこんなのが(サーバーが立ち上がった)
その後、http://localhost:1323にアクセスすると
Hello, World!が表示されてました。
curlを用いて結果を確認(出力)する方法もあるみたいなので、やってみました。
$ curl http://対象のURL
Hello, World!が確認できます。
これは今、GETリクエストを送ったようです。
【用語】GETリクエストとは、http通信でクライアント(Webブラウザなど)からWebサーバへ送るリクエスト(サーバーに対するお願い)の種類の1つ。WebブラウザからWebサーバーに渡す値をURLの後ろにくっつけて送るやり方らしい。
【用語】サーバーに対するお願いの種類(ページほしい、消してなど)は色々あって、このお願いの種類をhttpリクエストメソッドという。
【用語】POSTリクエストもGETリクエストと同じようにWebブラウザからWebサーバに値を送るが、渡す値をURLの後ろにはくっつけず、見えないところに隠して送っているという違いがある。またPOSTリクエスとは大きめのデータを送信できるらしい。
自分なりの勝手な解釈
もしこういうGETリクエストきたら「こうしてね」とやることをコードで打っとく→GETリクエストでURLと情報をサーバーに送る→さっきコードで打ってた「こうしてね」が実行される→情報を確認できる
【明日のための備忘録】
・JSON形式でレスポンスを用意する?
・JSON形式で受け取った値をそれぞれJSON形式で返す?→これでなんかDBいじれそう。
今日できるようになったこと
・Echoを使ってAPIサーバーの構築
・公式ドキュメントに沿ってGetリクエスト
さいごに
今日は公式ドキュメントに沿って自分が何をやっているのか確認する作業だったので、明日からは「POSTリクエスト」や「JSON形式」など色々試していきたいと思います。
それではまた!