成都模版网站制作windows下搭建wordpress

张小明 2026/1/14 21:12:11
成都模版网站制作,windows下搭建wordpress,四川省建设工程网站,公众号模板wordpress这一篇笔记主要介绍 gin.Engine#xff0c;设置路由等操作#xff0c;以下是本篇笔记目录#xff1a;gin.Default() 和 gin.New()HTTP 方法路由分组与中间件1、gin.Default() 和 gin.New()前面第一篇笔记介绍#xff0c;创建一个 gin 的路由引擎使用的函数是 gin.Default()…这一篇笔记主要介绍 gin.Engine设置路由等操作以下是本篇笔记目录gin.Default() 和 gin.New()HTTP 方法路由分组与中间件1、gin.Default() 和 gin.New()前面第一篇笔记介绍创建一个 gin 的路由引擎使用的函数是 gin.Default()返回的类型是 *gin.Engine我们可以使用其创建路由和路由组。除了这个函数外还有一个 gin.New()其返回的也是 *gin.Engine但是不一样的是 gin.Default() 会对 gin.Engine 添加默认的 Logger() 和 Recovery() 中间件。这两个函数大致内容如下func New(opts ...OptionFunc) *Engine {...}func Default(opts ...OptionFunc) *Engine {...engine : New()engine.Use(Logger(), Recovery())...}我们使用第一篇笔记中使用 debug 模式运行系统后输出的信息可以再看一下[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.[GIN-debug] [WARNING] Running in debug mode. Switch to release mode in production.- using env: export GIN_MODErelease- using code: gin.SetMode(gin.ReleaseMode)[GIN-debug] GET /test -- main.main.func1 (3 handlers)[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.[GIN-debug] Listening and serving HTTP on :9898我们使用的是 gin.Default() 运行的系统所以在第一行告诉我们创建了一个带有 Logger and Recovery 中间件的 Engine。同时第三行输出路由信息的地方标明了这个路由指向的处理函数后面的括号里是 3 handlers这个意思是除了我们处理路由的 handler还有两个默认的中间件 handler也就是这里的 Logger() 和 Recovery() 中间件。下面介绍一下 Logger() 和 Recovery() 这两个 handler 的作用。1. Logger()默认的 Logger() 会输出接口调用的信息比如第一篇中我们定义了一个 /test 接口当我们调用这个接口的时候控制台会输出下面这条信息[GIN] 2025/08/19 - 23:15:26 | 200 | 36.666µs | 127.0.0.1 | GET /test可以看到日志中会包含请求时间、返回的 HTTP 状态码、请求耗时、调用方 ip、请求方式和接口名称等。这条日志信息的输出就是 Logger() 这个中间件起的作用。在其内部会调用一个 LoggerWithConfig() 函数获取到请求的 ip、记录调用时间、调用方式等信息然后进行输出下面是部分源码信息param.TimeStamp time.Now()param.Latency param.TimeStamp.Sub(start)param.ClientIP c.ClientIP()param.Method c.Request.Methodparam.StatusCode c.Writer.Status()param.ErrorMessage c.Errors.ByType(ErrorTypePrivate).String()2. Recovery()Recovery() 中间件则可以为我们捕获程序中未处理的 panic记录错误信息并返回 500 状态码信息比如我们在第一篇笔记中使用的 TestHandler 函数我们在其中加一个除数为 0 的错误func TestHandler(c *gin.Context) {response : TestResponse{Code: 0,Message: success,}a : 0fmt.Println(1 / a)c.JSON(http.StatusOK, response)}在接口调用的时候如果我们使用的是 gin.Default()那么客户端不会报错而是会收到一个 HTTP 状态码为 500 的报错信息而如果使用的是 gin.New()客户端则会直接发生错误。总的来说Logger() 和 Recovery() 这两个的中间件是 gin 框架为我们默认添加的对于开发者来说较为友好的两个操作在后面介绍中间件的时候我们也可以手动实现这两个功能。2、HTTP 方法gin.Engine 支持配置 HTTP 多个方法比如 GET、POST、PUT、DELETE 等。以第一篇笔记中的代码为例其设置方法如下r.GET(/test, TestHandler)r.POST(/test, TestHandler)r.PUT(/test, TestHandler)r.DELETE(/test, TestHandler)3、路由分组与中间件除了设置单个路由我们还可以对路由进行分组设置比如需要控制版本或者模块设置需要统一的前缀又或者是需要统一设置中间件功能的时候。其整体代码示例如下package mainimport (fmtnet/httpgithub.com/gin-gonic/gin)type TestResponse struct {Code int json:codeMessage string json:message}func TestHandler(c *gin.Context) {response : TestResponse{Code: 0,Message: success,}c.JSON(http.StatusOK, response)}func main() {r : gin.Default()v1 : r.Group(/v1){v1.GET(/test, TestHandler)}err : r.Run(:9898)if err ! nil {fmt.Println(gin run in 9898 error:, err)}}这里我们设置了一个路由名称以 v1 为前缀的路由组其下每个路由的访问都需要带有 /v1这样就实现了统一设置路由前缀的功能。而如果我们需要向其中添加中间件的时候也可以不用挨个路由进行设置而是在 v1 路由组的设置中就可以实现比如v1 : r.Group(/v1, Middleware1, Middleware2)这样其下每个路由的 handler 函数在调用前就都会先调用 Middleware1 和 Middleware2 这两个中间件。以上就是本篇笔记关于 gin.Engine 的全部内容其实中间件的相关操作也应该属于 gin.Engine 的内容但是那部分需要介绍的知识点和想要用于介绍的代码示例略多所以就单独开一篇笔记在后面再介绍。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

好大夫在线个人网站王建设深圳罗湖网站建设

EmotiVoice与RVC结合使用:打造专属歌姬声音 在虚拟偶像内容爆发式增长的今天,创作者们不再满足于“能说话”的AI语音,而是追求真正“会唱歌、有情绪、像真人”的数字歌姬。然而,传统文本转语音(TTS)系统生成…

张小明 2026/1/10 14:12:14 网站建设

做一个购物网站开发者模式要不要开

在生物医学从 “经验驱动” 迈向 “精准调控” 的进程中,重组抗体凭借基因工程技术的加持,打破了传统杂交瘤抗体的局限,成为科研探索、疾病诊断与靶向治疗的核心支柱。这种通过精准改造抗体基因、体外高效表达获得的生物分子,以高…

张小明 2026/1/10 14:12:15 网站建设

做的网站为什么图片看不了怎么回事seo 优化案例

TVBoxOSC快速上手:从零打造专属电视盒子的完整攻略 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 还在为电视盒子界面单调乏味而烦恼…

张小明 2026/1/10 14:12:15 网站建设

网络推广就是做网站吗莆田网站建设莆田

USB2.0还能撑多久?工业相机帧率瓶颈背后的真相你有没有遇到过这种情况:明明相机标称支持30fps,实际采集时却只能跑到18fps,画面还时不时跳帧、花屏?如果你用的是USB2.0接口的工业相机,那问题很可能不在相机…

张小明 2026/1/10 14:12:16 网站建设

深圳建设交易中心网站首页WordPress给编辑器

Token采样策略优化:Miniconda-Python3.10实现低消耗文本生成 在大模型推理日益普及的今天,一个常见的尴尬场景是:训练好的语言模型部署上线后,生成速度慢、显存爆满、输出呆板重复——明明实验室里跑得好好的,怎么一到…

张小明 2026/1/10 14:12:17 网站建设

备案价网站怎样让百度收录自己的网站

CRIU完整使用指南:快速掌握Linux应用检查点与恢复技术 【免费下载链接】criu Checkpoint/Restore tool 项目地址: https://gitcode.com/gh_mirrors/cr/criu CRIU(Checkpoint and Restore in Userspace)是一个强大的开源工具&#xff0…

张小明 2026/1/10 14:12:19 网站建设