【Go/Echo】フォーム(POST)からパラメーターを受け取る

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Go/Echo】フォーム(POST)からパラメーターを受け取る

2025-1-20 | ,

GoのEchoでフォーム(POST)からパラメーターを受け取りたい!

概要

今回の記事では、GoのEchoでフォーム(POST)からパラメーターを受け取る手順を掲載する。

仕様書

環境

  • Go 1.23.5
  • echo v4.1.16

手順書

http://localhost:1323GETするとフォームが表示されて、そのフォームからPOSTするとフォームから値を受け取り、Hello! <name>!とレスポンスを返す例。

package main

import (
    "net/http"

    "github.com/labstack/echo/v4"
)

func main() {
    e := echo.New()

    e.POST("/", func(c echo.Context) error {
        name := c.FormValue("name")

        return c.String(http.StatusOK, "Post! "+name+"!")
    })

    e.GET("/", func(c echo.Context) error {
        html := `
        <!DOCTYPE html>
        <html>
        <head>
            <title>Example</title>
        </head>
        <body>
            <h1>Submit</h1>
            <form action="/" method="POST">
                <label for="name">Name:</label><br>
                <input type="text" id="name" name="name"><br><br>
                <button type="submit">Submit</button>
            </form>
        </body>
        </html>
        `
        return c.HTML(http.StatusOK, html)
    })

    e.Logger.Fatal(e.Start(":1323"))
}

ブラウザでhttp://localhost:1323にアクセスして、フォームから値を送信してPost! <フォームに入力した値>!が表示されればOKだ!

まとめ(感想文)

別記事では関数で分けたんだけども、この記事ではラムダ式で記述してみた。