Gin初心者のハンドラでレスポンス
Gin初心者のためのハンドラ関数入門
GinはGo言語で書かれた高速なWebフレームワークです。ハンドラ関数はリクエスト処理の中心で、gin.Contextを引数に取ります。以下のように定義します。
func helloHandler(c *gin.Context) {
name := c.DefaultQuery("name", "世界")
c.String(200, "こんにちは、%s!", name)
}
上記の例では、クエリパラメータからnameを取得し、c.Stringで文字列レスポンスを返しています。ステータスコードは第1引数に指定します。
gin.Contextとレスポンスの基本
gin.Contextはリクエストとレスポンスの両方を扱うオブジェクトです。JSON形式で返す場合はc.JSONを使用します。
func jsonHandler(c *gin.Context) {
data := map[string]string{
"message": "Hello, JSON!",
}
c.JSON(200, data)
}
c.Stringはテキストレスポンス、c.JSONはJSONレスポンスを生成します。どちらもgin.Contextを介してステータスコードとボディを設定します。
ステータスコードとc.JSON, c.Stringの使い分け
ステータスコードはHTTPの意味を示します。成功時は200、クライアントエラーは400系、サーバーエラーは500系です。ハンドラ関数内で適切に設定することで、クライアントに正しい情報を返せます。
func errorHandler(c *gin.Context) {
if err := doSomething(); err != nil {
c.JSON(500, gin.H{
"error": err.Error(),
})
return
}
c.String(200, "成功しました")
}
この例では、処理中にエラーが発生した場合は500を返し、成功時は200で文字列を返します。ハンドラ関数はリクエスト処理のエントリーポイントであり、gin.Contextを通じてリクエスト情報を取得し、レスポンスを生成します。
コメント
コメントを投稿