gorilla/mux 请求路由和分发的 Go 框架开源项目

我要开发同款
匿名用户2019年06月27日
113阅读

技术信息

开源地址
https://github.com/gorilla/mux
授权协议
BSD

作品详情

gorilla/mux 实现了一个请求路由和分发的Go框架。

mux名字的意思是"HTTPrequestmultiplexer".和标准包 http.ServeMux类似,  mux.Router根据已注册路由列表匹配传入请求,并调用与URL或其他条件匹配的路由的处理程序。

主要特性:

Itimplemetsthe http.Hadler iterfacesoitiscompatiblewiththestadard http.ServeMux.RequestscabematchedbasedoURLhost,path,pathprefix,schemes,headeradqueryvalues,HTTPmethodsorusigcustommatchers.URLhosts,pathsadqueryvaluescahavevariableswithaoptioalregularexpressio.RegisteredURLscabebuilt,or"reversed",whichhelpsmaitaiigreferecestoresources.Routescabeusedassubrouters:estedroutesareolytestediftheparetroutematches.Thisisusefultodefiegroupsofroutesthatsharecommocoditioslikeahost,apathprefixorotherrepeatedattributes.Asabous,thisoptimizesrequestmatchig.安装goget-ugithub.com/gorilla/mux代码示例fucmai(){r:=mux.NewRouter()r.HadleFuc("/",HomeHadler)r.HadleFuc("/products",ProductsHadler)r.HadleFuc("/articles",ArticlesHadler)http.Hadle("/",r)}

这里我们注册了三个URL匹配路由进行处理。路径也可以是变量:

r:=mux.NewRouter()r.HadleFuc("/products/{key}",ProductHadler)r.HadleFuc("/articles/{category}/",ArticlesCategoryHadler)r.HadleFuc("/articles/{category}/{id:[0-9]+}",ArticleHadler)

这些名称用于创建路由变量的映射,可以通过调用mux.Vars获取:

fucArticlesCategoryHadler(whttp.ResposeWriter,r*http.Request){vars:=mux.Vars(r)w.WriteHeader(http.StatusOK)fmt.Fpritf(w,"Category:%v\",vars["category"])}

功能介绍

gorilla/mux 实现了一个请求路由和分发的 Go 框架。 mux 名字的意思是 "HTTP request multiplexer". 和标准包 http.ServeMux类似, mux...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论