Gin路由组
Gin路由组
文章目录
- Gin路由组
- 接收任意请求的路由
- 接收没有被定义的路由
- 路由组
- 完整代码
接收任意请求的路由
-
区别于以往的
GET()函数只能处理一种请求,Any()函数可以处理各种函数 -
语法:
func (group *RouterGroup) Any(relativePath string, handlers ...HandlerFunc){} -
案例:
//可以接收任意请求的函数r.Any("/index", func(c *gin.Context) {switch c.Request.Method { case http.MethodGet:c.JSON(http.StatusOK, gin.H{"status": "Get",})case http.MethodPost:c.JSON(http.StatusOK, gin.H{"status": "Post",})}})
接收没有被定义的路由
-
用于处理各种没有被定义的路由
-
语法:
func (engine *Engine) NoRoute(handlers ...HandlerFunc) {} -
案例:
//用于处理各种没有定义的路由被用户访问后显示的内容r.NoRoute(func(c *gin.Context) {c.HTML(http.StatusOK, "Not.html", gin.H{"email": "2585295809@qq.com",})})
路由组
-
顾名思义,所谓路由组指的就是路由的组,也就是可以对路由进行分组管理的用法
-
语法:
func (group *RouterGroup) Group(relativePath string, handlers ...HandlerFunc) *RouterGroup {} -
案例:
//路由组(方便管理同一组的各种请求indexGroup := r.Group("/index"){// index/nameindexGroup.GET("/name", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "name ok",})})// index/ageindexGroup.POST("/age", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "age ok",})})} -
路由组嵌套(也就是在路由组中在添加一个路由组)
-
案例:
//路由组(方便管理同一组的各种请求indexGroup := r.Group("/index"){// index/nameindexGroup.GET("/name", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "name ok",})})// index/ageindexGroup.POST("/age", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "age ok",})})//嵌套路由组ageGroup := indexGroup.Group("/age"){// /index/age/dogageGroup.GET("/dog", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "dog ok",})})}}
完整代码
package mainimport ("github.com/gin-gonic/gin""log""net/http"
)func main() {r := gin.Default()//解析静态文件r.LoadHTMLFiles("Not.html")//可以接收任意请求的函数r.Any("/index", func(c *gin.Context) {switch c.Request.Method {case http.MethodGet:c.JSON(http.StatusOK, gin.H{"status": "Get",})case http.MethodPost:c.JSON(http.StatusOK, gin.H{"status": "Post",})}})//用于处理各种没有定义的路由被用户访问后显示的内容r.NoRoute(func(c *gin.Context) {c.HTML(http.StatusOK, "Not.html", gin.H{"email": "2585295809@qq.com",})})//路由组(方便管理同一组的各种请求indexGroup := r.Group("/index"){// index/nameindexGroup.GET("/name", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "name ok",})})// index/ageindexGroup.POST("/age", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "age ok",})})//嵌套路由组ageGroup := indexGroup.Group("/age"){// /index/age/dogageGroup.GET("/dog", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"status": "dog ok",})})}}err := r.Run(":8080")if err != nil {log.Println(err)return}
}相关文章:
Gin路由组
Gin路由组 文章目录 Gin路由组接收任意请求的路由接收没有被定义的路由路由组完整代码 接收任意请求的路由 区别于以往的GET()函数只能处理一种请求,Any()函数可以处理各种函数 语法: func (group *RouterGroup) Any(relativePath string, handlers ...HandlerFunc){} 案例: …...
安防监控视频云存储平台EasyNVR通道频繁离线的原因排查与解决
安防视频监控汇聚EasyNVR视频集中存储平台,是基于RTSP/Onvif协议的安防视频平台,可支持将接入的视频流进行全平台、全终端分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求…...
Redis-分布式锁!
分布式锁,顾名思义,分布式锁就是分布式场景下的锁,比如多台不同机器上的进程,去竞争同一项资源,就是分布式锁。 分布式锁特性 互斥性:锁的目的是获取资源的使用权,所以只让一个竞争者持有锁,这…...
Unity如何把游戏导出成手机安装包
文章目录 前言使用环境步骤添加场景构建APK 前言 本文章主要演示了,如何将制作好的游戏,导出成APK,安装到手机上。 使用环境 Unity2022。 步骤 首先打开你的项目,然后选择菜单栏的“File” > “Build Settings…”…...
使用爱校对软件保证公文材料质量的关键步骤
在日常的公文处理中,保证材料质量是每个企业和机构都追求的目标。而要实现这个目标,使用正确的工具是关键。爱校对软件正是这样一款专业的校对工具,它可以帮助我们保证公文材料的质量。接下来,让我们一起来看看使用爱校对软件保证…...
Spring Data Elasticsearch 的简单使用
目录 一、简介 二、配置 三、映射 四、 常用方法 五、操作(重点) 1、对索引表的操作 2、对文档的操作(重点) (1)、添加文档 (2)、删除文档 (3)、查询…...
2024」预备研究生mem-角平分线定理中线定理垂线定理、射影定理
一、角平分线定理 二、中线定理 三、垂线定理、射影定理 垂线定理 射影定理: 四、课后题...
nginx部署时http接口正常,ws接口404
可以这么配置 map $http_upgrade $connection_upgrade {default upgrade; close; }upstream wsbackend{server ip1:port1;server ip2:port2;keepalive 1000; }server {listen 20038;location /{ proxy_http_version 1.1;proxy_pass http://wsbackend;proxy_redirect off;proxy…...
数学建模的概念和学习方法(什么是数学建模)
一、初步认识数学建模 数学建模是将数学方法和技巧应用于实际问题的过程。它涉及使用数学模型来描述和分析现实世界中的现象、系统或过程,并通过数学分析和计算来预测、优化或解决问题。数学建模可以应用于各种领域,包括自然科学、工程、经济学、环境科学…...
ChatGPT在智能安全监测和入侵检测中的应用如何?
ChatGPT在智能安全监测和入侵检测领域具有潜在的应用价值。虽然ChatGPT主要是一个基于自然语言处理的模型,但结合其他技术和领域专业知识,它可以用于生成和分析文本数据,提供实时安全警报、威胁情报等,从而在安全监测和入侵检测方…...
智能数据建模软件DTEmpower 2023R2新版本功能介绍
DTEmpower是由天洑软件自主研发的一款通用的智能数据建模软件,致力于帮助工程师及工科专业学生,利用工业领域中的仿真、试验、测量等各类数据进行挖掘分析,建立高质量的数据模型,实现快速设计评估、实时仿真预测、系统参数预警、设…...
BDA初级分析——认识SQL,认识基础语法
一、认识SQL SQL作为实用技能,热度高、应用广泛 在对数据分析人员的调查中SQL长期作为热度排名第-一的编程语言超过Python和R SQL:易学易用,高效强大的语言 SQL:Structured Query Language 结构化查询语言 SQL:易学…...
Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow
一、前言 QMdiArea类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示MDI窗口的部件。 滚屏区域基类 QAbstractScrollAreahttps://blog.csdn.net/u014491932/article/details/132245486 框架类 QFramehttps://blog.csdn.net/u01…...
图片转换成pdf格式?这几种转换格式方法了解一下
图片转换成pdf格式?将图片转换成PDF格式的好处有很多。首先,PDF格式具有通用性,可以在几乎任何设备上查看。其次,PDF格式可以更好地保护文件,防止被篡改或者复制。此外,PDF格式还可以更好地压缩文件大小&am…...
thingsboard编译安装踩坑记录
thingsboard编译安装踩坑记录 一、编译:二、运行 朋友的thingsboard没人维护,要装新的服务器,啥文档也没有,就让参考官网的文档,版本也比较老3.2.2的,拿过来试了试记录下踩坑的地方。 一、编译:…...
汇编语言例子集合
本人早酷爱汇编语言,曾经以自己能直接执行和操作机器码而自豪不已。下面列出一些电脑隐藏角落里的汇编语言例子程序。后续发现整理后会进一步添加完善。 汇编语言在windows上的bmp文件浏览器。 使用win32汇编编写。 下载地址:https://download.csdn.net/…...
强化学习:用Python训练一个简单的机器人
一、介绍 强化学习(RL)是一个令人兴奋的研究领域,它使机器能够通过与环境的交互来学习。在这篇博客中,我们将深入到RL的世界,并探索如何使用Python训练一个简单的机器人。在本文结束时,您将对 RL 概念有基本…...
【Docker】Docker使用之容器技术发展史
🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正࿰…...
postgresql的在windows下的安装
postgresql的在windows下的安装 下载安装步骤超级用户设置密码本地化设置安装信息安装完成 查看postgresql服务pgAdmin的使用打开命令 行工具查询数据库版本 创建数据库 下载 官网地址 https://www.postgresql.org/ 下载页面 https://www.postgresql.org/download/ windows下…...
python 自动化学习(四) pyppeteer 浏览器操作自动化
背景 之前我在工作中涉及到了很多地方都是重复性的页面点点点工作,又因为安全保密原则不开放接口和数据库,只有一个页面来提供点击进行操作,就想着用前面学的自动化来实现,但发现前面学的模拟操作对浏览器来说并没有那么友好&…...
别再只画可达空间了!宇树Z1机械臂‘死角’排查与灵活工作空间优化实战
宇树Z1机械臂死角排查与灵活工作空间优化实战指南 当宇树Z1机械臂在自动化产线上执行抓取任务时,工程师们常会遇到一个令人头疼的现象——某些看似可达的位姿却无法实现预期动作。这背后隐藏的往往是机械臂工作空间中的"死角"问题,即那些虽然理…...
告别繁琐配置:用Docker一键搞定RKNN模型转换环境(Windows/Linux/Mac通用)
跨平台RKNN模型转换实战:Docker化环境搭建与高效部署指南 当AI开发者需要在不同设备上部署模型时,环境配置往往成为最耗时的环节。特别是在使用Rockchip NPU进行边缘计算时,传统的虚拟机配置、交叉编译等方法既繁琐又容易出错。本文将介绍如何…...
CYBER-VISION零号协议互联网舆情智能监测与分析系统
CYBER-VISION零号协议:构建你的互联网舆情智能监测雷达 最近和几个做市场、公关的朋友聊天,他们都在抱怨同一个问题:每天花大量时间刷新闻、看社交媒体,就为了捕捉行业动态和用户反馈,生怕错过什么重要信息。人工监测…...
shjshxksxjxbf
一、OpenAI 1.OpenAI是什么简单来说,OpenAI 大模型 是由美国人工智能公司 OpenAI 开发的一系列大型语言模型(LLMs) 。你可以把它们想象成拥有巨大“知识储备”和“学习能力”的超级大脑,它们被训练用来理解和生成人类语言…...
Anthropic:AI 编程从单打独斗到团队协作的生产关系升级
【导语:在 AI 时代,编程不再是少数人的特权。Anthropic 让 Claude 独自完成项目,从单智能体到多智能体结构,实现了从生成代码到交付成果的跨越,带来了生产关系的升级。】Claude 单枪匹马难交付,多智能体团队…...
告别版本冲突:利用快马平台高效管理多jdk环境,提升开发效率
作为一名Java开发者,我经常遇到这样的困扰:接手不同项目时,每个项目可能要求使用不同版本的JDK。手动切换环境变量、反复安装卸载JDK版本,不仅浪费时间,还容易出错。最近我发现了一个高效的解决方案——利用InsCode(快…...
Neo4j关系创建失败?手把手教你处理GraphRAG生成的异常ID格式(含正则清洗技巧)
Neo4j关系创建失败?手把手教你处理GraphRAG生成的异常ID格式(含正则清洗技巧) 当你满怀期待地将GraphRAG生成的知识图谱数据导入Neo4j,准备欣赏可视化成果时,却发现关系创建失败——这可能是每个数据工程师都经历过的噩…...
不止基础管理!国产 CRM 软件如何用数据分析赋能客户与销售工作
引言2026年国内企业数字化转型已进入深水区,CRM早已脱离了单纯的客户信息台账工具属性,数据分析能力成为衡量CRM产品价值的核心指标——从线索获客成本核算到跟单转化率优化,从客户复购价值挖掘到全链路风险管控,高质量的数据分析…...
算法审判日:用Git记录定程序员罪孽
一、版本控制的“审判台”在软件质量保障体系中,Git早已超越单纯的版本管理工具,演变为代码行为的“司法档案库”。每一次git commit都是程序员在数字法庭上的宣誓证词,而git blame则成为测试人员追溯缺陷根源的刑侦工具。罪证链条的三重维度…...
2026年中国企业AI应用场景报告
当多模态技术突破模态壁垒,当超级智能体成为业务重构的核心执行者,AI 正从实验室走向产业深水区,成为企业降本增效、创新增长的关键引擎。但与此同时,“AI 应用停留在工具层面”“落地效果不及预期”“行业场景适配难” 等痛点&am…...
