目录

文章目录

  • 1 介绍
  • 2 练习
  • 结果展示
  • 友情援助

1 介绍

Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点

对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错

借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.

2 练习

本次练习主要对上一次的代码继续进行改善,
在上一次练习中,我们已经增加了中间件鉴权的代码,接下来就是对它的使用了。
首先,在路由管理代码中,添加。

func Info(ctx *gin.Context) {user, _ := ctx.Get("user")ctx.JSON(http.StatusOK, gin.H{"code": 200,"data": gin.H{"user": user},})

该功能是用来获取用户信息。

func CollectRouter(r *gin.Engine) *gin.Engine {r.POST("/api/auth/register", Controller.Register)r.POST("/api/auth/login", Controller.Login)r.GET("/api/auth/info", middleware.AuthMiddleware(), Controller.Info)return r
}

然后是在注册代码中添加

r.GET("/api/auth/info", middleware.AuthMiddleware(), Controller.Info)

结果展示

友情援助

有问题的可以关注公众号,博主会在24小时内回复。

Go 语言web 框架 Gin 练习6相关推荐

  1. Go语言web框架 gin

    Go语言web框架 GIN gin是go语言环境下的一个web框架, 它类似于Martini, 官方声称它比Martini有更好的性能, 比Martini快40倍, Ohhhh-.看着不错的样子, 所 ...

  2. Go语言web框架——Gin

    文章目录 Gin 1 Web工作流程 2 Gin 框架 2.1 Hello World engine.Run() 2.2 gin.Engine gin.Default() 2.3 路由与控制器 2.3 ...

  3. Go 语言web 框架 Gin 练习8

    目录 文章目录 1 介绍 2 练习 友情援助 1 介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依 ...

  4. Go 语言web 框架 Gin 练习 7

    目录 文章目录 1 介绍 2 练习 友情援助 1 介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依 ...

  5. Go 语言web 框架 Gin 练习5

    目录 文章目录 1 介绍 2 练习 友情援助 1 介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依 ...

  6. Go 语言web 框架 Gin 练习4

    目录 文章目录 1 介绍 2 练习 友情援助 1 介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依 ...

  7. Go 语言web 框架 Gin 练习3

    目录 文章目录 1 介绍 2 练习 友情援助 1 介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依 ...

  8. 干货分享:六个知名的Go语言web框架

    框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应 ...

  9. go web框架_干货分享:六个知名的Go语言web框架

    框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应 ...

最新文章

  1. 机器学习为NASA贡献了什么?
  2. 操作系统内存管理-Linux版
  3. Calling JNI Functions with Java Object Arguments from the Command Line
  4. USB转串口 FT232/PL2303/CH340 驱动以及使用体会
  5. 关于map的下标操作的2个例子
  6. HTTP_请求消息_请求行
  7. 大众继续深耕SUV市场:5款新车型先于上海车展登场,ID. ROOMZZ成点睛之笔
  8. jupyter 托管_如何在本地托管的Jupyter Notebook上进行协作
  9. C语言错误c2063,请教C语言中关于将二维数组复制到一个三维数组的问题
  10. x3-02 java,Android Studio 3.2.1 - 新项目无法运行
  11. asp.net mysql 读写分离_[ASP.net教程]SqlSugar ORM已经支持读写分离
  12. 解决AssetBundle包加载预制体时,Shader显示异常的问题
  13. 基于ssm的仿微博系统
  14. TensorRT | 入门篇
  15. GitHub星数1.3W!五分钟带你搞定Bash脚本使用技巧
  16. Google Bard vs ChatGPT:哪一个更适合创造富有创造性的文学作品?
  17. qcc 蓝牙耳机 TWS与TWS plus的区别
  18. string头文件函数
  19. 【机器学习】李宏毅——自监督式学习
  20. 华为系统更新后sim无服务器,华为手机系统更新后太卡怎么办? 原因及解决方法详解...

热门文章

  1. 2019 surf project for a milestone
  2. 关闭微信朋友圈的第二天的感悟
  3. 同类分析比较工具 google trend
  4. RAS RC4 AES 加密 MD5
  5. C# == equals 本质理解
  6. html 5笔记:理解与学习
  7. Hadoop入门进阶步步高(一)-环境准备
  8. ***Xcode Interface Builder或Storyboard中可建立那两种连接?
  9. Android中控件移动的实现
  10. 分支机构L2L *** 到总部再PAT通过专线到合作伙伴(SVTI建立***)