13.2 自定义路由器设计
发布日期:2021-06-30 15:54:31 浏览次数:2 分类:技术文章

本文共 695 字,大约阅读时间需要 2 分钟。

HTTP路由

HTTP路由组件负责将HTTP请求交到对应的函数处理(或者是一个struct的方法),如前面小节所描述的结构图,路由在框架中相当于一个事件处理器,而这个事件包括:

  • 用户请求的路径(path)(例如:/user/123,/article/123),当然还有查询串信息(例如?id=11)
  • HTTP的请求方法(method)(GET、POST、PUT、DELETE、PATCH等)

路由器就是根据用户请求的事件信息转发到相应的处理函数(控制层)。

默认的路由实现

在3.4小节有过介绍Go的http包的详解,里面介绍了Go的http包如何设计和实现路由,这里继续以一个例子来说明:

func fooHandler(w http.ResponseWriter, r *http.Request) {    fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))}http.HandleFunc("/foo", fooHandler)http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {    fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))})log.Fatal(http.ListenAndServe(":8080", nil))

上面的例子调用了http默认的DefaultServeMux来添加路由,需要提供两个参数,第一个参数是希望用户访问此资源的URL路

转载地址:https://kaitiren.blog.csdn.net/article/details/115087334 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:13.3 controller设计
下一篇:13.1 项目规划

发表评论

最新留言

很好
[***.229.124.182]2024年05月03日 14时21分52秒