简洁、轻量级的 Go API 框架

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 简洁、轻量级的 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 的中级水平。在这个过程中,你将会学习到框架的核心设计思路和封装思想,并获得宝贵的学习经验。

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

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
API
用 Koa 框架实现一个简单的 RESTful API
用 Koa 框架实现一个简单的 RESTful API
|
1月前
|
开发框架 Go 计算机视觉
纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架
开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C++ 库,如 OpenCV 或 dlib,但通过 cgo 调用 C 程序会引入巨大的延迟,并在性能方面产生显著的权衡。此外,在许多情况下,在各种平台上安装 OpenCV 是很麻烦的。使用纯Go开发的插件不仅在开发时方便,在项目部署和项目维护也能省很多时间精力。
|
2月前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
137 4
|
2月前
|
缓存 API 数据库
Python哪个框架合适开发速卖通商品详情api?
在跨境电商平台速卖通的商品详情数据获取与整合中,Python 语言及其多种框架(如 Flask、Django、Tornado 和 FastAPI)提供了高效解决方案。Flask 简洁灵活,适合快速开发;Django 功能全面,适用于大型项目;Tornado 性能卓越,擅长处理高并发;FastAPI 结合类型提示和异步编程,开发体验优秀。选择合适的框架需综合考虑项目规模、性能要求和团队技术栈。
31 2
|
2月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
136 1
|
2月前
|
JSON JavaScript 中间件
Koa框架下的RESTful API设计与实现
在现代 Web 开发中,构建高效、可维护的 API 是至关重要的。Koa 是一个流行的 Node.js Web 应用框架,它具有简洁、灵活和强大的特性,非常适合用于设计和实现 RESTful API。
|
2月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
70 2
|
2月前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
79 3
|
2月前
|
JavaScript 中间件 API
Node.js进阶:Koa框架下的RESTful API设计与实现
【10月更文挑战第28天】本文介绍了如何在Koa框架下设计与实现RESTful API。首先概述了Koa框架的特点,接着讲解了RESTful API的设计原则,包括无状态和统一接口。最后,通过一个简单的博客系统示例,详细展示了如何使用Koa和koa-router实现常见的CRUD操作,包括获取、创建、更新和删除文章。
63 4
|
2月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
147 2