随笔分类 -  gin

golang框架gin
摘要:goroutine机制可以方便地实现异步处理 另外,在启动新的goroutine时,不应该使用原始上下文,必须使用它的只读副本 // 异步 func longAsync(context *gin.Context) { copyContext := context.Copy() go func() { 阅读全文
posted @ 2021-12-09 17:02 专职 阅读(333) 评论(0) 推荐(0) 编辑
摘要:重定向redirect func someRedirect(context *gin.Context) { context.Redirect(http.StatusMovedPermanently, "https://www.mayanan.cn") } 阅读全文
posted @ 2021-12-09 16:41 专职 阅读(96) 评论(0) 推荐(0) 编辑
摘要:各种数据格式的响应 json、结构体、XML、YAML类似于java的properties、ProtoBuf 点击查看代码 // json响应 func someJson(context *gin.Context) { context.JSON(http.StatusOK, gin.H{"statu 阅读全文
posted @ 2021-12-09 16:24 专职 阅读(89) 评论(0) 推荐(0) 编辑
摘要:Json数据解析与绑定 客户端传参,后端接收并解析到结构体 func Login(context *gin.Context) { // 声明接收的变量 var login LoginJson // 将request的body中的数据,自动按照json格式解析到结构体 // 等价于:context.S 阅读全文
posted @ 2021-12-09 14:46 专职 阅读(210) 评论(0) 推荐(0) 编辑
摘要:基本的路由注册 下面最基础的gin路由注册方式,适用于路由条目比较少的简单项目或者项目demo。 package main import ( "net/http" "github.com/gin-gonic/gin" ) func helloHandler(c *gin.Context) { c.J 阅读全文
posted @ 2021-12-07 18:07 专职 阅读(273) 评论(0) 推荐(0) 编辑
摘要:基本路由 gin框架中采用的路由库是基于httrouter做的 地址为:https://github.com/julienschmidt/httprouter httprouter路由库 点击查看代码 package main import ( "fmt" "github.com/juliensch 阅读全文
posted @ 2021-12-07 16:30 专职 阅读(312) 评论(0) 推荐(0) 编辑
摘要:介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于 阅读全文
posted @ 2021-12-07 11:11 专职 阅读(861) 评论(0) 推荐(0) 编辑
摘要:核心知识点 json配置文件解析成结构体 将路由对应的接口抽离到单独的文件中,main函数中直接注册路由即可 项目目录图 项目代码 app.json代码 { "app_name": "cloudRestaurant", "app_mode": "debug", "app_host": "127.0. 阅读全文
posted @ 2021-11-21 18:36 专职 阅读(559) 评论(0) 推荐(0) 编辑
摘要:package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "log" ) func main() { // 链接数据库 //dsn := "username:password@protocal(host 阅读全文
posted @ 2021-11-21 15:33 专职 阅读(418) 评论(0) 推荐(0) 编辑
摘要:概念 一个完整的系统可能包括鉴权认证、权限管理、安全检查、日志记录等多维度的系统支持。 中间件位与服务器和实际业务处理程序之间,其含义就相当于在请求和具体的业务处理逻辑之间增加某些操作,这种以额外增加的方式不会影响编码的效率,也不会侵入到框架中。 中间件的位置和角色示意图 自定义一个中间件 gin中 阅读全文
posted @ 2021-11-21 12:08 专职 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1. gin框架中可以使用路由组来实现对路由的分类 package main import "github.com/gin-gonic/gin" func main() { router := gin.Default() userGroup := router.Group("/user") user 阅读全文
posted @ 2021-11-21 10:08 专职 阅读(145) 评论(0) 推荐(0) 编辑
摘要:返回四种格式的数据:1. []byte、string 2. json格式 3. html模板渲染 4. 静态资源设置 package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { router := gin.D 阅读全文
posted @ 2021-11-20 20:38 专职 阅读(1194) 评论(0) 推荐(0) 编辑
摘要:package main import ( "fmt" "github.com/gin-gonic/gin" ) // gin框架提供给开发者表单实体绑定的功能,可以将表单数据与结构体绑定 type userRegister struct { UserName string `form:"usern 阅读全文
posted @ 2021-11-20 16:39 专职 阅读(631) 评论(0) 推荐(0) 编辑
摘要:1. 方法一: 通用的处理方法 Handle package main import ( "fmt" "github.com/gin-gonic/gin" "log" ) func main() { router := gin.Default() router.Handle("GET","/hell 阅读全文
posted @ 2021-11-20 14:56 专职 阅读(530) 评论(0) 推荐(0) 编辑
摘要:package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { // 静态文件服务 router := gin.Default() router.Static("/assets", "./assets") // 阅读全文
posted @ 2021-10-29 10:37 专职 阅读(335) 评论(0) 推荐(0) 编辑
摘要:package main import ( "github.com/gin-gonic/gin" ) func main() { // HTTP重定向很容易,内部、外部重定向均支持 router := gin.Default() /* GET重定向 router.GET("/", func(cont 阅读全文
posted @ 2021-10-29 10:01 专职 阅读(303) 评论(0) 推荐(0) 编辑
摘要:运行服务的返回类型为 :http.Handler 。gin.New(),gin.Default() 返回的就是此类型。使用&http.Server{....} 设置服务参数使用g.Go(func () error{ return server.ListenAndServe()}) 开启一个服务 pa 阅读全文
posted @ 2021-10-28 17:04 专职 阅读(145) 评论(0) 推荐(0) 编辑
摘要:package main import ( "github.com/gin-gonic/gin" ) func main() { router := gin.Default() // 后台路由 admin := router.Group("/admin") admin.GET("/t1", func 阅读全文
posted @ 2021-10-28 16:11 专职 阅读(48) 评论(0) 推荐(0) 编辑
摘要:package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { router := gin.Default() // 路由参数1,将匹配/user/mayanan和/user/,但是不会匹配/user //router.G 阅读全文
posted @ 2021-10-28 15:54 专职 阅读(353) 评论(0) 推荐(0) 编辑
摘要:package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { router := gin.Default() router.GET("/cookie", func(context *gin.Context) { // 获 阅读全文
posted @ 2021-10-28 14:50 专职 阅读(554) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示