dox90448 2018-03-30 21:05
浏览 475
已采纳

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

I am new to golang and using julienschmidt/httprouter for routing. based on below snippet, able to send one parameter. but I am little confused to send multiple parameters, cloud anyone helps me.

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!
")
}

func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
    fmt.Fprintf(w, "hello, %s!
", ps.ByName("name"))
}

func main() {
    router := httprouter.New()
    router.GET("/", Index)
    router.GET("/hello/:name", Hello)

    log.Fatal(http.ListenAndServe(":8080", router))
}
  • 写回答

1条回答 默认 最新

  • duanbu9345 2018-03-30 21:17
    关注

    Just add in another parameter:

    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!
    ", ps.ByName("first_name"), ps.ByName("last_name"))
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?