简洁、轻量级的 Go API 框架

本次分享的框架是「gin-api-mono」

介绍 gin-api-mono 前先了解 go-gin-api

go-gin-api 这是一个基于 Gin 的 API 框架,它提供了 WEB 界面一键安装的方式,让你可以快速启动一个开箱即用的 Go 项目。无论你是否有项目经验,这个框架都适合作为练手项目使用 (新手入门必备) 。

该框架采用了模块化设计,封装了常用的功能,使得使用起来非常简单。它旨在帮助你进行快速的业务研发,并同时增加了一些限制,以约束项目组开发成员的行为,避免混乱无序和自由随意的编码风格。

通过使用这个框架,你可以快速搭建一个具备良好结构和规范的 API 项目,从而提高开发效率和代码质量。无论你是新手还是有经验的开发者,都可以借助这个框架来构建可靠、可扩展的 Go 项目。

该框架托管在 GitHub 上,仓库地址为 https://github.com/xinliangnote/go-gin-api 目前,该项目已经获得了 5.1k 的 star。

为什么会产生 gin-api-mono ?

因为有些开发者提出了这样的需求:“亮哥,你的 go-gin-api 项目我看了,非常适合我,可以出一个简版的吗?不需要界面,去掉集成的一些功能,我只需要 API 接口,然后在提供下 CURD 编写示例,我拿来从零开始直接应用到项目中写业务代码...”

针对这个需求,gin-api-mono 应运而生。它是一个简单、轻量级的框架,集成了常用的组件可供使用,同时也提供了 CURD 操作示例,方便开发者快速上手。与 go-gin-api 不同的是,首先 gin-api-mono 去掉了一些集成的功能和界面,使得整个框架更加简洁、轻量化。其次 gin-api-mono 对代码进行了升级,以确保其在性能和稳定性方面的优势。

总之,gin-api-mono 是一个简洁、轻量级的 API 框架,旨在提供更便捷的业务开发体验,开发者可以更灵活地选择所需的功能,并获得更好的性能和稳定性。

gin-api-mono 集成了哪些功能?

快速入门

  1. 运行使用

  2. 配置路由

  3. 处理请求参数

  4. 操作数据库

  5. 编译成二进制文件

进阶

  1. 自定义编写中间件及使用

  2. 统一定义错误码并进行语言汉化

  3. 接口返回值规范的最佳实践方法

  4. 开发环境下实现代码的热更新部署

  5. 集成 aes 对称加密算法

  6. 集成 rsa 非对称加密算法

  7. 集成 snowflake 实现生成唯一 ID

  8. 集成 cors 实现允许前端跨域请求

  9. 集成 swag 实现自动生成接口文档

  10. 集成 pprof 实现应用程序性能分析

  11. 集成 jwt 实现身份认证及验证中间件

  12. 集成 prometheus 客户端实现注册和暴露指标

  13. 自定义调试方法,支持将调试日志收集到上下文日志中

  14. 集成 gorm 操作 MySQL 数据,支持将操作日志收集到上下文日志中

  15. 集成 redis/v8 操作 Redis 数据,支持将操作日志收集到上下文日志中

  16. 集成 resty/v2 请求 HTTP 接口,支持将请求/响应日志收集到上下文日志中

  17. 集成 mongo-driver 操作 MongoDB 数据,支持将操作日志收集到上下文日志中

  18. 强大的日志收集功能,根据「请求唯一ID」可串联请求日志、响应日志、调试日志、MySQL 操作日志、Redis 操作日志、Mongo 操作日志、三方 HTTP 请求响应日志等

你会收获什么?

一、学会后,你将达到了 Go 的中级水平

经过充分的学习和实践,你将能够灵活运用所学知识,并将其应用于实际项目中,从而达到 Go 的中级水平。在这个过程中,你将会学习到框架的核心设计思路和封装思想,并获得宝贵的学习经验。

二、过程中,可以找到志同道合的伙伴

我主打作为一个陪伴大家答疑解惑的存在,你将成为交流圈子的重要一员。你的知识和经验将为其他人提供宝贵的帮助和指导。无论是提出问题、回答问题、提供建议还是分享资源,你的存在将为这个圈子注入更多的活力和温暖。

如何去学习?

7c582fcb6b48c073440e1331e89b7be0.png

订阅小测后,拉你进学习交流群。

学会后,你将具备中级 Go 工程师的能力。这样的技能在职场上非常有价值,可以为你带来丰厚的收入。你可以了解一下当地中级工程师的薪水待遇,这将让你更加明确这个技能对你职业发展的潜在回报。

以 59.9 元的价格来说,仅相当于一顿饭的费用,但它能极大地提高你的工作效率和生产力。这是一个非常值得投资的机会。

目前 go-gin-api 已经过验证,受到了广泛认可,目前已经获得了超过 5.1K 的 Star。这显示了它在开发者社区中的受欢迎程度和影响力。

  • GitHub: https://github.com/xinliangnote/go-gin-api

  • 中文文档:https://www.yuque.com/xinliangnote/go-gin-api/ngc3x5

1be355cabee79c6019cf47829da71f7e.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/314512.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机基础面试题 |04.精选计算机基础面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

图像分割实战-系列教程8:unet医学细胞分割实战6(医学数据集、图像分割、语义分割、unet网络、代码逐行解读)

🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 unet医学细胞分割实战1 unet医学细胞分割实战2 unet医学细胞分割实战3 unet医学细胞分割实战4 unet…

OpenCV-Python(21):OPenCV查找及绘制轮廓

1.认识轮廓 1.1 目标 理解什么是轮廓学习掌握找轮廓、绘制轮廓等学习使用cv2.findContours()、cv2.drawContours()函数的用法 1.2 什么是轮廓 在OpenCV中,轮廓是图像中连续的边界线的曲线,具有相同的颜色或者灰度,用于表示物体的形状。轮廓…

学生信息管理系统 Java+SQL Server 数据库原理课程

该项目实现了图形化界面的数据库的登录,以及对数据库中表的增删查改。 正好老师布置了相关作业,通过Java 连接 SQL Server 数据库,就写一个学生管理系统。 jdk8 数据库连接通过sqljdbc6.0 图形化界面用swing 目录 1、Java 连接SQL Serv…

安装Typora

链接:https://pan.baidu.com/s/1OLHtUTziKdB0sW0UIOnBBw?pwd6666 提取码:6666

Spring04

一、AOP的概念 AOP 为 (Aspect Oriented Programming) 的缩写,意为:面向切面编程,底层是使用动态代理的技术实现对目标方法的增强和控制访问等功能。 其中AOP中有几个重要的概念: 1、通知:增强的逻辑,或者后期要加入的代码。 2、目…

Nginx 简介和入门 - part1

虽然作为1个后端程序员, 终究避不开这东西 安装Nginx 本人的测试服务器是debian , 安装过程跟ubuntu基本一样 sudo apt-get install nginx问题是 nginx 安装后 执行文件在/usr/sbin 而不是/usr/bin 所以正常下普通用户是无法使用的。 必须切换到root…

【C语言】Ubuntu 22上用GTK写GUI程序

一、GTK介绍 GTK (GIMP Toolkit) 是一个多平台的图形用户界面工具包。它最初是为图像处理程序 GIMP 开发的,后来演变成为许多操作系统上开发图形界面应用程序的通用库。GTK 是用C语言编写的,并且是自由和开源软件,遵循LGPL (GNU Lesser Gene…

python多环境管理工具——pyenv-win安装与使用教程

目录 pyenv-win简介 pyenv-win安装 配置环境变量 pyenv的基本命令 pyenv安装py环境 pyenv安装遇到问题 pycharm测试 pyenv-win简介 什么是pyenv-win: 是一个在windows系统上管理python版本的工具。它是pyenv的windows版本,旨在提供类似于unix/li…

BGP路由知识点

目录 1.BGP的工作原理: 2.BGP路由的一般格式: 3.三种不同的自治系统AS 4.BGP的路由选择 5.BGP的四种报文 BGP(Border Gateway Protocol)是一种用于自治系统(AS)之间的路由选择协议。它是互联网中最常用…

CorelDRAW是什么软件?coreldraw软件可以做什么?

CorelDRAW是什么软件? cdr是coreldraw graphics suite的简称,它是corel企业的平面设计软件,cdr软件是corel公司出品的矢量图形制作工具软件,主要用于矢量图及页面设计和图像编辑。这个图形工具给设计师提供了矢量动画、页面设计、…

JDBC->SpringJDBC->Mybatis封装JDBC

一、JDBC介绍 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们…