Skip to content

ZYallers/gin-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gin-api.zyall.com

基于Gin框架搭建,专门为app接口开发而设计的一个API统一网关。

Gin是一个用Go(Golang)编写的Web框架。 它具有类似马提尼的API,具有更好的性能,由于httprouter,速度提高了40倍。 如果你需要表现和良好的生产力,你会爱上Gin。

特性

  • 快速

基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。

  • 支持中间件

传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如:Logger,Authorization,gzip,zaplog等,最终操作 DB。

  • Crash 处理

Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic!

  • JSON 验证

Gin 可以解析并验证请求的 JSON,例如检查所需值的存在。

  • 路由组

更好地组织路由。是否需要授权,不同的 API 版本…… 此外,这些组可以无限制地嵌套而不会降低性能。

  • 错误管理

Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送。

  • 内置渲染

Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API。

  • 可扩展性

新建一个中间件非常简单,去查看示例代码吧。

  • 版本控制

轻松管理各个版本API,不用处理兼容问题,快速迭代

部署

要求

  • Go 1.12 及以上版本

1. cd 进到项目根目录

$ cd gin-api

2. 执行bin目录下的 develop.sh 部署工具脚本文件

$ ./bin/develop.sh sync
$ ./bin/develop.sh restart

提醒事项:

  • 此脚本运行方式只适合开发阶段,生产环境请用 produce.sh 工具脚本,详细命令请执行 produce.sh help

资料