news 2026/3/8 18:52:53

Web学习之Restful风格

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Web学习之Restful风格

一、Restful风格请求

  • 在目前所学内容中每个请求都需要绑定一个HandleFunc,而在实际项目中会有很多URL,且可能出现满足特定规定的URL,例如:/sxt/it和/sxt/baizhan都是以/sxt/开头,且如果这两个URL里面代码也差不多是,写两个Func就属于代码冗余了
  • 可以使用restful风格把满足特定格式url和功能类似的代码提入到一个func中实现代码复用

二、Go语言的多路复用器

  • 在http包中提供了ServeMux实现多路复用器,他会对URL进行解析,然后重定向到正确的处理器上
  • ServeMux是一个结构体,里面存放了map和读写锁
typeServeMuxstruct{mu sync.RWMutex mmap[string]myxentry hostsbool//whether any patterns contain hostnames.}
  • 在Go语言中有提供了ServeMux的对象DefaultServeMux
varDefaultServeMux=&defaultServeMuxvardefautlServeMux ServeMux
  • 而平时使用的http.Server不指定Handler属性时默认就是DefaultServeMux

三、使用第三方实现Restful风格

  • 可以使用命令,从github上下载第三方库,下载后放入到%GOROOT%/src/github.com中
go get githbub.com/gorilla/mux
  • 使用mux包的Router实现restful风格
packagemainimport("fmt""github.com/gorilla/mux""net/http")funchello(w http.ResponseWriter,r*http.Request){vars:=mux.Vars(r)fmt.Fprintln(w,"dayinle",vars["key"])}funcabc(w http.ResponseWriter,r*http.Request){fmt.Fprintln(w,"abc")}funcmain(){r:=mux.NewRouter()r.HandleFunc("/hello/{key}",hello)r.HandleFunc("/abc",abc)http.ListenAndServe(":8090",r)}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 19:35:07

arm pl320 学习

1. IPCM 模块简介(Introduction)1.1 IPCM 是什么?PL320 IPCM 是一个 高度可配置的核间通信硬件模块,主要能力包括:向其他 CPU 核发送 中断随中断携带 少量数据(Mailbox Data)支持 一对一 / 一对…

作者头像 李华
网站建设 2026/3/8 5:24:01

改稿速度拉满!专科生专属降AI平台 —— 千笔·降AIGC助手

在AI技术深度渗透学术写作的今天,越来越多的学生开始依赖AI工具辅助论文撰写,以提升效率、优化内容。然而,随着知网、维普、万方等查重系统对AI生成内容的识别能力不断提升,以及Turnitin对AIGC的严格筛查,论文中的AI痕…

作者头像 李华
网站建设 2026/3/8 19:41:45

科研党收藏!用户挚爱的降AIGC网站 —— 千笔

在AI技术迅猛发展的今天,越来越多的学生和研究者开始依赖AI工具进行论文写作和内容创作。然而,随着学术审查标准的不断提升,AI生成内容的痕迹越来越容易被识别,导致论文的AIGC率过高,进而影响查重结果和学术合规性。面…

作者头像 李华