当前位置: 首页 > news >正文

go语言gin框架学习

让框架去做http解包封包等,让我们的精力用在应用层开发
MVC模式
M: model,操作数据库gorm
view 视图 处理模板页面
contoller 控制器 路由 +逻辑函数

解决gin相关代码飘红的问题

记得启用gomodule
go env -w GO111MODULE=on

然后到相应目录下执行 go mod init xxx
go mod tidy 
这样应该可以解决代码飘红,说找不到对应包的问题

由于墙的原因 需要更换代理请执行 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/

一、初步使用

  • 搭建好go的环境,目录结构如下
    在这里插入图片描述
//main.go
package main

import "github.com/gin-gonic/gin"
func main()	{
	gin.Default()
}
go mod init quickstart
go mod tidy
  • 如果下载失败,换成golang官方源试试
 go env -w GOPROXY=https://proxy.golang.org,direct
  • 搭建一个基础的后端
//main.go
package main

import "github.com/gin-gonic/gin"
func getuser(ctx *gin.Context){
	ctx.JSON(200,gin.H{
		"username":"you",
	})
}
func main()	{
	//获取引擎对象,即路由对象
	r:=gin.Default()

	//路由映射函数
	r.GET("/user",getuser)
	//启动:默认本机8080端口 类似django的runserver
	r.Run("127.0.0.1:8081")
}

访问相应路径如下
在这里插入图片描述

二、路由系统初识

2.1 服务端对客户端发起各种请求方式的处理

2.1.1 同一个资源的不同请求方式

//路由映射函数同一个路由,不同的方法执行不同的逻辑
r.GET("/book", func(context *gin.Context) {
	context.JSON(200,gin.H{
		"msg":"查询成功",
	})

})
r.POST("/book", func(context *gin.Context) {
	context.JSON(200,gin.H{
		"msg":"新增成功",
	})

})

r.PUT("/book", func(context *gin.Context) {
	context.JSON(200,gin.H{
		"msg":"修改成功",
	})

})

r.DELETE("/book", func(context *gin.Context) {
	context.JSON(200,gin.H{
		"msg":"删除成功",
	})
})

2.1.2 Any

// any请求方式都可以访问
r.Any("/index", func(context *gin.Context) {
	context.JSON(200,gin.H{
		"msg":"任何方式都可以访问",
	})

})

2.1.3 NoRoute


//所有路由都无法访问时,不管何种请求方式,走noroute时返回相应信息
r.NoRoute( func(context *gin.Context) {
	context.JSON(404,gin.H{
		"msg":"404 not find",
	})

})

2.2 路由分组

  • gin框架没有像django那样的路由分组需要自己写

相关文章:

  • 一个超简单的渐变平行四边形进度条
  • 安装好unity后给unity配置及插件和资源相关的事情
  • docker版jxTMS使用指南:勾连python
  • 值得记忆的STL常用算法,分分钟摆脱容器调用的困境,以vector为例,其余容器写法类似
  • 重学Java设计模式-结构型模式-组合模式
  • Android11以上版本使用高德定位,定位成功,卫星数一直为0
  • 【十二天学java】day06之方法详解
  • Revit明细表计算重量和明细表导出功能
  • 基于飞桨实现的特定领域知识图谱融合方案:ERNIE-Gram文本匹配算法
  • Python实现二叉树递归遍历
  • 如何在 Vue 中使用 防抖 和 节流
  • 高效实施ClickHouse数据备份
  • 关于qt creator手动添加构建套件kit问题
  • 【进阶数据结构】——红黑树
  • 初识进程
  • Mybatis搭建环境及其原理【搭建Mybatis程序】
  • 一次内存泄露排查
  • 1.linux操作命令
  • Intel处理器体系结构:CPU运行模式
  • MySQL高级篇_第16章_多版本并发控制
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉