代码之家  ›  专栏  ›  技术社区  ›  Nagaraja SV

如何在golang中使用julienschmidt/httprouter传递两个或多个参数?

  •  0
  • Nagaraja SV  · 技术社区  · 7 年前

    我对golang很陌生,使用julienschmidt/httprouter进行路由。 基于以下代码段,可以发送一个参数。 但我有点困惑发送多个参数,云任何人都可以帮助我。

    package main
    
    import (
        "fmt"
        "github.com/julienschmidt/httprouter"
        "net/http"
        "log"
    )
    
    func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
        fmt.Fprint(w, "Welcome!\n")
    }
    
    func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
        fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name"))
    }
    
    func main() {
        router := httprouter.New()
        router.GET("/", Index)
        router.GET("/hello/:name", Hello)
    
        log.Fatal(http.ListenAndServe(":8080", router))
    }
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   dave    7 年前

    只需添加另一个参数:

    router.GET("/hello/:first_name/:last_name", Hello)
    
    func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
        fmt.Fprintf(w, "hello, %s %s!\n", ps.ByName("first_name"), ps.ByName("last_name"))
    }