{"repo":"linclin/go-gin-rest-api","free":true,"listed":false,"github":"https://github.com/linclin/go-gin-rest-api","clone":"git clone https://github.com/linclin/go-gin-rest-api.git","description":"gin + viper + gorm + jwt + casbin实现的golang后台API开发脚手架","language":"Go","stars":27,"topics":["gin","golang","gorm","casbin","jwt","restful","rql","swagger","viper"],"license":"Apache-2.0","category":"auth-billing-email","readme_excerpt":"go-gin-rest-api gin + viper + gorm + jwt + casbin实现的golang后台API开发脚手架 配套前端ice-antd - ice.js 阿里开源飞冰React框架 文档 - Ant Design Pro 蚂蚁开源Ant Design Pro前端UI组件 文档 主要功能 - 基于 Gin 框架开发的REST API - API使用 JWT 的Token认证和 Casbin 的接口ACL、RBAC权限控制 - 使用 rql 资源查询语言,支持功能更丰富的数据查询接口 - MySQL数据库使用 Gorm 支持，使用 gorm2-loggable 插件实现数据变更记录表 - 配置文件管理使用 Viper 进行，配置文件变更热加载，无需重启应用(框架基础http服务、日志、数据库不变，仅针对业务配置生效) - 定时任务使用 robfig/cron 运行,使用基于MySQL唯一索引的分布式锁避免多副本重复执行，并记录任务执行状态到数据表 - 日志输出使用Golang 1.21版本日志库 slog ，搭配 lumberjack 日志文件切割 - 全局panic日志输出设置使用Golang 1.23版本 debug.SetCrashOutput ，最低运行版本为1.23 - 前后台对接Casdoor实现SSO单点登录，可支持LDAP、AD、企业微信、钉钉等登录 使用golang大众开源类库 - gin 一款高效的golang web框架 教程 - gorm 数据库ORM管理框架, 可自行扩展多种数据库类型 教程 - rql 用于REST的资源查询语言，作为http请求和orm之间的连接器，gin和gorm的连接器 - viper 配置管理工具, 支持多种配置文件类型.教程 - jwt JWT token中间件 - casbin 基于角色的访问控制模型(RBAC) 教程 - validator 请求参数校验, 版本V10. 教程 - lumberjack 日志切割工具, 高效分离大日志文件, 按日期保存文件 - cast 一个小巧、实用的类型转换库，用于将一个类型转为另一个类型 教程 - go-cache 缓存库 教程 - resty Go的简单HTTP和REST请求客户端 教程 - cron 实现了 cron 规范解析器和任务运行器，简单来讲就是包含了定时任务所需的功能 教程 - lo 基于泛型实现的Golang工具库 感谢Go 每日一库提供的详细教程 gin中间件 - appleboy/gin-jwt 权限认证中间件 -- 处理登录、登出、无状态token校验 - casbin 和casbin/gorm-adapter权限访问中间件 -- 基于Cabin RBAC, 对不同角色访问不同API进行校验 - sentinel sentinel流量控制中间件 -- api流量控制和熔断降级 - gin-contrib/requestid requestid中间件 -- 接口trace id，每次api请求均会生成唯一id返回客户端，并保存数据库接口日志表 - gin-contrib/cors cors跨域中间件-- 所有请求均可跨域访问 - gin-contrib/gzip gzip中间件-- 所有API返回均进行压缩 - gin-contrib/pprof pprof中间件 - zsais/go-gin-prometheus prometheus中间件 - swaggo/gin-swagger swagger中间件 -","default_branch":null,"files":null,"tree":[],"storefront":"/r/linclin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/linclin/go-gin-rest-api/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}