GoWeb -- gin框架的入门和使用

Gin:Go语言的高性能Web框架,
Gin是一个基于Go的高性能Web框架,提供类似Martini的API服务,但速度更快。它拥有高效的httprouter,简单的Context,丰富的工具集,优雅的路由和中间件系统,以及Panic恢复功能。Gin支持JSON验证,路由群组和RESTfulAPI规范,适用于开发高性能Web应用。

认识gin

go流行的web框架
go从诞生之初就带有浓重的开源属性,其原生库已经很强大,即使不依赖框架,也能进行高性能开发,又因为其语言并没有一定的设计标准,所以较为灵活,也就诞生了众多的框架,各具有特色,满足不同的喜好。

地址:https://github.com/gin-gonic/gin

go的框架其实可以理解为库,并不是用了某一个框架就不能用别的框架,可以选择性的使用各个库中的优秀组件,进行组合

gin介绍

Gin 是一个基于 Go 语言编写的 Web 框架,它提供了类似于 Martini 框架但性能更好的 API 服务。Gin 框架的主要特点包括:

  • 高性能:Gin 使用了高性能的 httprouter 作为其底层的 HTTP 路由器,速度提升了近 40 倍。
  • 易用性:Gin 提供了简单好用的核心上下文 Context,以及丰富的工具集,如 JSON/XML 响应、数据绑定与校验等。
  • 路由与中间件:Gin 提供了优雅的路由/中间件系统,支持中间件传入的 HTTP 请求经由一系列中间件和最终操作来处理,例如 Logger、Authorization、GZIP 以及最终的 DB 操作。
  • Crash 处理:Gin 框架可以捕获发生在 HTTP 请求中的 panic 并 recover 它,从而保证服务器始终可用。
  • JSON 验证:Gin 框架可以解析并验证 JSON 格式的请求数据,例如检查某个必须值是否存在。
  • 路由群组:Gin 支持通过路由群组来更好地组织路由,例如是否需要授权、设置 API 的版本等。
  • 无限制的群组嵌套:Gin 支持无限制的路由群组嵌套,不会降低性能。

总之,Gin 是一个高效、易用且功能丰富的 Web 框架,适合用于开发高性能的 Web 应用程序。

gin的安装

首先进行开发环境的准备

mkdir ginlearn

先创建项目目录
进入目录 再使用go work init 命令初始化

go mod init test.com/helloworld
go work use ./helloworld

在这里插入图片描述
然后就可以使用go get命令下载gin框架

在这里插入图片描述
在这里插入图片描述
现在开发环境已经准备好了

第一个gin程序

在项目目录下新建一个main.go,并在里面写入以下代码:

package main

import (
	"github.com/gin-gonic/gin"
	"log"
)

func main() {
   
   
	r := gin.Default()
	//curl http://localhost:8080/hello 获取到json返回值
	//{“name”:"hello world"}
	r.GET("/hello", func(context *gin.Context) {
   
   
		context.JSON(200, gin.H{
   
   
			"name": "hello world",
		})
	})
	err := r.Run(":8080")
	if err != nil {
   
   
		log.Fatal(err)
	}
}

然后在浏览器里 访问 http://localhost:8080/hello 就可以看到以下内容

在这里插入图片描述

路由

路由是URI到函数的映射
一个URI含: http://localhost:8080/user/find?id=11

  • 协议,比如http,https等
  • ip端口或者域名,比如127.0.01:8080或者www.test.com
  • path ,比如/path
  • query,比如?query

同时访问的时候,还需要指明http method 比如get post 等

RESTful API规范

RESTful API的规范建议我们使用特定的HTTP方法来对服务器上的资源进行操作。
比如:
GET 表示读取服务器上的资源
POST 表示在服务器上的创建资源
PUT 表示更新或者替换服务器上的资源
DELETE 表示删除服务器上的资源

请求方法

	r.GET("/get", func(ctx *</
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冲鸭嘟嘟可

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值