美文网首页
多路复用器

多路复用器

作者: mick_ | 来源:发表于2019-05-28 08:42 被阅读0次

    第三方路由介绍

    • 多路复用器,只需要实现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()
    }
    

    相关文章

      网友评论

          本文标题:多路复用器

          本文链接:https://www.haomeiwen.com/subject/bwoltctx.html