Go言語でWeb開発をする際、最も重要なのがHTTPリクエストの処理です。
標準ライブラリnet/httpを使えば、フレームワークなしで高性能なAPIを構築できます。
本記事では、GoのHTTPリクエスト処理について「基本・実装・実務で使えるパターン」を解説します。
HTTPリクエストとは?
クライアント(ブラウザ・アプリ)からサーバーへの要求です。
👉 主なメソッド
- GET(取得)
- POST(送信)
- PUT(更新)
- DELETE(削除)
基本の書き方
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello HTTP")
}
👉
w→ レスポンスr→ リクエスト情報
GETパラメータ取得
name := r.URL.Query().Get("name")
👉 URL:?name=tomoya
POSTデータ取得
r.ParseForm()
name := r.FormValue("name")
JSONリクエスト処理
type User struct {
Name string `json:"name"`
}
var user User
json.NewDecoder(r.Body).Decode(&user)
レスポンス返却(JSON)
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(user)
実務で重要なポイント
✔ エラーハンドリング
if err != nil {
http.Error(w, "エラー", http.StatusBadRequest)
return
}
✔ メソッド分岐
switch r.Method {
case "GET":
// 処理
case "POST":
// 処理
}
✔ ヘッダー取得
token := r.Header.Get("Authorization")
実務での応用
- REST API
- 管理画面
- 外部API連携
- 認証処理
👉 あなたなら👇
👉「口コミブースターPRO」のAPI処理に直結
💡 結論
👉
「HTTPリクエスト処理=Web開発の核心」


コメント