简洁、轻量级的 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日志并进行多维度分析。
目录
相关文章
|
1月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
42 4
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
100 3
|
7天前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
24 3
|
14天前
|
JavaScript 中间件 API
Node.js进阶:Koa框架下的RESTful API设计与实现
【10月更文挑战第28天】本文介绍了如何在Koa框架下设计与实现RESTful API。首先概述了Koa框架的特点,接着讲解了RESTful API的设计原则,包括无状态和统一接口。最后,通过一个简单的博客系统示例,详细展示了如何使用Koa和koa-router实现常见的CRUD操作,包括获取、创建、更新和删除文章。
35 4
|
17天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
25 2
|
7天前
|
安全 API 网络架构
Python中哪个框架最适合做API?
本文介绍了Python生态系统中几个流行的API框架,包括Flask、FastAPI、Django Rest Framework(DRF)、Falcon和Tornado。每个框架都有其独特的优势和适用场景。Flask轻量灵活,适合小型项目;FastAPI高性能且自动生成文档,适合需要高吞吐量的API;DRF功能强大,适合复杂应用;Falcon高性能低延迟,适合快速API开发;Tornado异步非阻塞,适合高并发场景。文章通过示例代码和优缺点分析,帮助开发者根据项目需求选择合适的框架。
23 0
|
1月前
|
中间件 Go API
使用Go语言构建高性能RESTful API
在现代软件开发中,RESTful API因其简洁和高效而成为构建网络服务的首选。Go语言以其并发处理能力和高性能著称,是开发RESTful API的理想选择。本文将介绍如何使用Go语言构建RESTful API,包括基础的路由设置、中间件的使用、数据验证、错误处理以及性能优化。通过实际代码示例,我们将展示Go语言在API开发中的强大功能和灵活性。
|
1月前
|
数据采集 人工智能 自然语言处理
Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股)AI Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent
|
2月前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
2月前
|
开发框架 JSON 缓存
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
在数字化浪潮推动下,RESTful API成为Web开发中不可或缺的部分。本文详细介绍了在Python环境下如何设计并实现高效、可扩展的RESTful API,涵盖框架选择、资源定义、HTTP方法应用及响应格式设计等内容,并提供了基于Flask的示例代码。此外,还讨论了版本控制、文档化、安全性和性能优化等最佳实践,帮助开发者实现更流畅的数据交互体验。
79 1