我可以使用mux访问GET个参数:

import (
    "github.com/gorilla/mux"
)
func main(){
     rtr := mux.NewRouter()
     rtr.HandleFunc("/logon", logonGet).Methods("GET")
}
func logonGet(w http.ResponseWriter, r *http.Request) {
    params := mux.Vars(r)
    login := params["login"]
}

但却不知道如何访问POST个参数

func main(){
     rtr := mux.NewRouter()
     rtr.HandleFunc("/logon", logonPost).Methods("POST")
}
func logonPost(w http.ResponseWriter, r *http.Request) {
    // how to get POST parameters from request
}

推荐答案

采用(*http.Request).FormValue法.

func logonPost(w http.ResponseWriter, r *http.Request) {
    login := r.FormValue("login")
    // ...
}

Go相关问答推荐

Golang读写更接近于io.File

如何使用Promela建模语言对Golang RWLock进行建模

如何描述OpenAPI规范中围棋的数据类型.JSON?

如何使用工作区方法扩展克隆的Golang库

一次打印用户输入的字符串n次

Golang:访问any类型泛型上的字段

Go 中如何判断 struct 体是否包含另一个 struct 体?

转到 bufio.Writer、gzip.Writer 并上传到内存中的 AWS S3

从 ApiGateway 中的 lambda Go 返回 Json

如何将已知类型转换为指向switch 中类型参数的指针?

Secrets Manager Update Secret - Secret String 额外的 JSON 编码

判断不同 go map 类型中的重复键

无法使用 gocsv 读取引用字段

golang 中的可变参数函数

如何将一片 map 转换为一片具有不同属性的 struct

使用 go.work 文件在多个测试文件上运行 go test 命令

Golang Getrlimit 返回与 ulimit 不同的值

为什么 0 big.Int 的 .Bytes() 值是空切片?

如何在 GORM 中迭代一个 int 数组

golang jwt.MapClaims 获取用户ID