Gin 框架中文入门教程
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ; - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 54w+ 字,讲解图 2476+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1900+ 小伙伴加入学习 ,欢迎点击围观
一、Gin 框架介绍
Gin 是使用 Go 语言 (又称 Golang) 编写的 HTTP Web 框架。它是一个类似于 martini 但拥有更好性能的 API 框架,由于底层使用了 httprouter , 它的速度提高了近 40 倍。
另外,Gin 框架目前是 Go 语言中所有的 Web 框架(如 Beego、lris)中 Github Star 数最多的,目前 Star 数已经达到 40k +:
如果你需要提供高性能、生产力优秀的 Web 服务,那么 Gin 框架是你的首选 !
二、谁适合阅读本教程?
学习 Gin 框架,你需要具备 Go 语言基础!如果你不熟悉 Go 语言,建议移步阅读下面教程:
三、Gin 框架特性
快速
基于 Radix 树的路由,内存占用非常低。没有反射。可预测的 API 性能。
中间件支持丰富
传入的 HTTP 请求可以支持丰富的中间、终端操作。例如:日志 Logger、权限认证 Authorization、GZIP 压缩、数据库操作等。
Crash 处理
Gin 框架可以帮你捕获 HTTP 请求中的异常,并保证服务始终稳定运行。
JSON 验证
Gin 框架可以解析并验证请求的 JSON, 例如检查请求字段中的值是否为空。
路由组
更好地组织路由策略。如是否需要授权,不同的 API 版本等 ……
此外,这些组可以无限制地嵌套而不会降低 Web 服务的性能。
错误管理
Gin 框架提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件或数据库中,并通过网络发送。
内置渲染
Gin 框架为 JSON,XML 和 HTML 渲染提供了易于使用的 API。
可扩展性
Gin 框架新建一个中间件非常简单,具体可以参考官方 Github 示例代码 。