引言
Go 的 net/http 包为 HTTP 协议提供了很多功能。它做得不好的一件事是复杂的请求路由,例如将请求 url 分割成单个参数。
幸运的是,有一个非常流行的包,它在 Go 社区中以良好的代码质量而闻名。在此示例中,您将看到如何使用 gorilla/mux 包创建具有命名参数、GET/POST 处理程序和域限制的路由。
-
安装
gorilla/mux包
gorilla/mux 是一个适配 Go 的默认 HTTP 路由器的包。它具有许多功能,可在编写 Web 应用程序时提高生产力。它还符合 Go 的默认请求处理程序签名 func (w http.ResponseWriter, r *http.Request),因此该包可以与其他 HTTP 库(如中间件或现有应用程序)混合和加工。使用 go get 命令从 GitHub 安装包,如下所示:
go get -u github.com/gorilla/mux
-
创建新路由
首先创建一个新的请求路由器。路由器是您的 Web 应用程序的主路由器,稍后将作为参数传递给服务器。它将接收所有 HTTP 连接并将其传递给您将在其上注册的请求处理程序。您可以像这样创建一个新路由器:
r := mux.NewRouter()
-
注册请求处理程序
一旦你有了一个新的路由器,你就可以像往常一样注册请求处理程序。唯一的区别是,不是调用 http.HandleFunc(...),而是在路由器上调用 HandleFunc,如下所示:r.HandleFunc(...)。<

本文介绍了Go语言中使用gorilla/mux包进行HTTP路由的方法,包括安装gorilla/mux、创建路由器、注册请求处理程序、处理URL参数以及设置HTTP服务器的路由器。通过示例代码详细讲解了如何利用gorilla/mux实现复杂路由功能。
最低0.47元/天 解锁文章

836

被折叠的 条评论
为什么被折叠?



