第三方路由介绍
- 多路复用器,只需要实现ServeHTTP方法即可实现,
- net/http包中的ServeMux提供了默认的路由方式,但是一个缺陷就是无法使用变量实现URL模式匹配,如/getId/123这种默认路由只能匹配/getId带上参数则匹配不了,
- 这里介绍一个第三方httprouter,很好实现需求
go get github.com/julienschmidt/httprouter
package main
import (
"fmt"
"github.com/julienschmidt/httprouter"
"net/http"
)
func hello(w http.ResponseWriter,r *http.Request,p httprouter.Params){
fmt.Fprintf(w,"%s",p.ByName("name"))
}
func main(){
mux := httprouter.New()
mux.GET("/hello/:name",hello)
server := http.Server{
Addr:":8080",
Handler:mux,
}
server.ListenAndServe()
}
网友评论