Go Web编程入门:路由

      最后更新:2022-05-17 13:04:32 手机定位技术交流文章

      引言

      Go 的net/http软件包支持各种 HTTP 协议操作。 软件包表现不好的一件事是请求线复杂, 例如将请求的URL 分割成一个参数 。

      幸好,在Go社区,有一套广为人知的制作高质量守则的一揽子方案,在Go社区广为人知。gorilla/mux软件包生成了带有名称参数的路径,以及GET/POST进程程序和域限制。

      1. 安装gorilla/mux

      gorilla/mux是 Go 软件包, 用于默认的 HTTP 路由器。 它包含在开发在线应用程序的同时提高效率的若干功能。 它也符合 Go 的默认请求处理签名 。func (w http.ResponseWriter, r *http.Request),允许包件与其他 HTTP 图书馆(例如中间程序或当前应用程序)混合处理。

      1. 创建新路由

      首先创建一个新的请求路由器。 路由器是您网络应用程序的主要路由器, 稍后将发送到服务器作为参数。 它将接收所有 HTTP 连接, 并将其传输到您注册的请求处理程序 。

      1. 注册请求处理程序

      在您有了一个新的路由器后,您可以像往常一样登记申请程序。唯一的区别是它不被调用。http.HandleFunc(...)这是通过路由器完成的HandleFunc,如下所示:r.HandleFunc(...)

      1. URL 参数

      gorilla/mux路由器的最大优势是能够从所请求的 URL 中提取一个段。 例如,在您的应用程序中,这是 URL :

      此 URL 将分为两个动态部分:

      • 书的缩放 (go- programming- blueprint)

      • 页 (10)

      为将请求处理器与上述URL匹配,在 URL 模式中,用以下占位符替换动态段:

      最后一步是从这些段落中提取数据。对软件包附加一个函数。mux.Vars(r),它以http.Request该部分被映射为参数并返回。

      配置 HTTP 服务器的路由器 。

      有没有想过http.ListenAndServe(":80", nil)是 HTTP 服务器的主要路由器。 网络/ http 软件包的默认路由器是 nar。 要使用您自己的路由器, 请用路由器的 r 变量替换nar 。

      代码(用于复制和油漆)

      这是您可以从这个例子中学习的全部代码 。

      总结

      流动/流动路由器的特征。

      1. 将请求处理限制为单一的HTTP方法。

      1. 主机名和子域

      请求处理限制为单个主机名或子区域 。

      1. Schemes

      请求的处理仅限于http/https。

      1. 路径前缀和子路由器

      我不这么认为,它把请求处理机制 限制在特定的路线前缀上

      最终,一波幸福的浪潮, 注意我:

      免费访问云服务器、免费网站。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/25092.html

          热门文章

          文章分类