首页 > 其他分享 >GO框架 - gin简介

GO框架 - gin简介

时间:2023-04-06 17:14:30浏览次数:30  
标签:HTTP 简介 中间件 JSON API Gin GO gin 路由

Gin 是一个用 Go (Golang) 编写的 web 框架。它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。如果你是性能和高效的追求者, 你会爱上 Gin.

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

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

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

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

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

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

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

可扩展性:新建一个中间件非常简单

标签:HTTP,简介,中间件,JSON,API,Gin,GO,gin,路由
From: https://www.cnblogs.com/golandhome/p/17293392.html

相关文章

  • GO框架 - beego简介
    bee工具是一个为了协助快速开发beego项目而创建的项目,通过bee您可以很容易的进行beego项目的创建、热编译、开发、测试、和部署。简单化:RESTful支持、MVC模型,可以使用bee工具快速地开发应用,包括监控代码修改进行热编译、自动化测试代码以及自动化打包部署。智能化:支......
  • GO框架 - iris简介
    专注于高性能简单流畅的API高扩展性强大的路由和中间件生态系统使用iris独特的表达主义路径解释器构建RESTfulAPI动态路径参数化或通配符路由与静态路由不冲突使用重定向选项从URL中删除尾部斜杠使用虚拟主机和子域名变得容易分组API和静态或甚至动态子域名net/http......
  • 运行 Golang 程序时让程序不会在运行结束后立即关闭命令行窗口
    在运行Golang程序时,为了让程序不会在运行结束后立即关闭命令行窗口,可以采用以下两种方法:使用fmt.Scanln()函数在程序的末尾添加一行fmt.Scanln()可以暂停程序运行,等待用户在命令行中输入任何字符,程序将等待用户输入,然后再继续执行直到程序结束。packagemainimport"fm......
  • Go 语言进行依赖包的管理的几种方式
    Go语言具有丰富的开源包管理工具,可以方便地进行依赖包的管理。下面介绍如何在Go语言中安装依赖包。使用goget命令goget命令可以从远程代码仓库(比如GitHub)下载Go语言包,并安装到$GOPATH/src目录下。通常使用以下命令来安装一个依赖包:gogetgithub.com/依赖库路径......
  • 基于 Nginx&Lua 实现自建服务端埋点系统
    前言埋点数据一般取决于服务提供商想从用户身上获取什么信息。通常来讲,主要分为用户的基本属性信息和行为信息。用户的基本属性信息主要包括:年龄、性别、设备等。行为信息即用户的点击行为和浏览行为,在什么时间,哪个用户点击了哪个按钮,浏览了哪个页面,浏览时长等等的数据。基本属......
  • go语言发送请求后接收到json如何提取其中指定参数
    由于用过python的缘故,一开始想着直接取后来发现并不行,于是上网查找资料发现需要定义结构体绑定参数,后来定义完结构体后发现并没有解决问题,而且过程较为繁琐,于是想着先将接收到的数据转为字符串body,_:=io.ReadAll(response.Body)fmt.Println(string(body))利用上面的代码发......
  • VM安装虚拟机时各分区,设备类型,文件系统简介
    各分区简介:/boot:存放开机文件,一般为100M左右(50M~200M)。swap:swap是交换分区、可以看成一种虚拟的内存扩展,内存不够是,可以将内存程序移入,需要时再取出,会比从硬盘读取快。/:linux根目录的分区。各设备类型简介:标准分区:标准分区可以包含文件系统或交换空间,也能提供一个容器,用于......
  • golang pprof 监控系列(4) —— goroutine thread 统计原理
    golangpprof监控系列(4)——goroutinethread统计原理大家好,我是蓝胖子。在之前golangpprof监控系列文章里我分别介绍了gotrace以及gopprof工具对memory,block,mutex这些维度的统计原理,今天我们接着来介绍golangpprof工具对于goroutine和thread的统计原理。还记得在......
  • 探测工具nmap简介及使用说明
    1.前言:当我们在构建环境或排查问题时,常常是先确定环境是否正常,首要确定的就是当前ip是否可用,或是是否在使用,将要使用的端口是否已配置等进行,除了我们常用的ping或是telnet工具外,还有别一种工具nmap,可以说是扫描神器。接下来就让我简单的给大家介绍一下nmap吧。2.nmap简介:本人使用......
  • Golang 应用接入 Prometheus 监控
    前言Prometheus提供了官方版Golang库(https://github.com/prometheus/client_golang)用于采集并暴露监控数据,本文快速为你介绍如何使用官方版Golang库来暴露Golangruntime相关的数据,以及其它一些基本简单的示例,并使用Prometheus监控服务来采集指标展示数据。❝有关全面......