Golang を使用して Web バックエンドを開発するには、フロントエンドからパラメーターを受け取り、それに応答する必要があります。では、Golang はどのようにしてフロントエンドからパラメーターを受け取るのでしょうか?一緒に見てみましょう。
Golang がフロントエンド パラメーターを受け取る方法
1. まず、Golang Web サービスを作成します。
package main import ( "log" "fmt" "net/http" "html/template" ) // 返回静态页面 func handleIndex(writer http.ResponseWriter, request *http.Request) { t, _ := template.ParseFiles("index.html") t.Execute(writer, nil) } func main() { http.HandleFunc("/", handleIndex) fmt.Println("Running at port 3000 ...") err := http.ListenAndServe(":3000", nil) if err != nil { log.Fatal("ListenAndServe: ", err.Error()) } }
index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> Golang GET&POST </body> </html>
2. 次に、axios ライブラリを使用してフロントエンドの get post リクエストを作成します (ご自身で導入してください)。
<script> axios.get('/testGet', { params: { id: 1, } }).then((response) => { console.log(response); }); // POST数据 const postData = { username: 'admin', password: '123', }; axios.post('/testPostJson', postData).then((response) => { console.log(response); }); </script>
3. 次に、Golang で get post パラメーターを受け取ります。
1. Golang はフロントエンド GET リクエストのパラメーターを受け取ります
// 处理GET请求 func handleGet(writer http.ResponseWriter, request *http.Request) { query := request.URL.Query() // 第一种方式 // id := query["id"][0] // 第二种方式 id := query.Get("id") fmt.Printf("GET: id=%s\n", id) fmt.Fprintf(writer, `{"code":0}`) } func main() { // ... http.HandleFunc("/testGet", handleGet) // ... }
サーバーは次を出力します:
GET: id=1
2 、Golang はフロントエンド POST リクエストのパラメーターを受け取ります
// 引入encoding/json包 import ( // ... "encoding/json" ) // 处理application/json类型的POST请求 func handlePostJson(writer http.ResponseWriter, request *http.Request) { // 根据请求body创建一个json解析器实例 decoder := json.NewDecoder(request.Body) // 用于存放参数key=value数据 var params map[string]string // 解析参数 存入map decoder.Decode(¶ms) fmt.Printf("POST json: username=%s, password=%s\n", params["username"], params["password"]) fmt.Fprintf(writer, `{"code":0}`) } func main() { // ... http.HandleFunc("/testPostJson", handlePostJson) // ... }
サーバーは次のように出力します:
POST json: username=admin, password=123
Golang の知識をさらに知りたい場合は、お支払いください。 PHP 中国語 Web サイト golang チュートリアル コラムに注目してください。
以上がGolang がフロントエンドパラメータを受け取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。