一、下载并安装gin
go get -u github.com/gin-gonic/gin
二、第一个gin程序
package main
import "github.com/gin-gonic/gin"
func sayHello(c *gin.Context) {
// 返回给客户端一个JSON格式的数据,其中HTTP状态码为200,表示处理成功
c.JSON(200, gin.H{
"message": "Hello golang!",
})
}
func main() {
// 创建默认的路由引擎,以便在收到特定的HTTP请求时,能够执行特定的函数
r := gin.Default()
// 往路由器添加URL地址,URL是HTTP请求的一部分
r.GET("/hello", sayHello)
// 启动HTTP服务,如果什么都没写,就默认在0.0.0.0:8080启动服务
// 也可以写成r.Run("0.0.0.0:9999")
r.Run(":9999")
}
1. 路由引擎是什么?
路由引擎是Web框架中的核心组件之一,它用于接收HTTP请求并将其路由到相应的处理程序。在Web应用程序中,路由引擎通常会根据请求的URL路径、HTTP方法、请求头等信息来匹配对应的路由规则,然后将请求发送到匹配的处理程序中。路由引擎的作用是将HTTP请求与处理程序解耦,使得Web应用程序可以更加灵活地处理不同的请求。
在Gin框架中,路由引擎是通过gin.Engine
结构体实现的,默认情况下使用gin.Default()
方法创建一个默认的路由引擎。在创建路由引擎之后,可以使用GET
、POST
、PUT
等方法向路由引擎中添加路由规则,并将特定的HTTP请求路由到相应的处理程序中。
2. 为什么处理函数(Handler Function)的参数都需要gin.Context
?
因为gin.Context
里面包含了请求的所有信息,例如:HTTP请求头、请求体、请求参数、响应头等。处理函数通过操作gin.Context
对象来获取请求参数、设置响应头、返回响应结果等。
三、在浏览器中打开
四、遇到的问题以及解决
page 404 NOT Found Error
我用的是9090的端口,不知道为什么,一直报这个错误,我也有想过重新开一个项目文件试试看,说不定是我原来的这个项目文件哪里的配置出了问题,太难找了,就不想找了。
结果,重新开了一个项目,9090端口号还是不能够正常使用。
后来发现,这个端口号被我的电脑里面的其他进程给占用了,只要将占用这端口号的进程关掉就好了。
如果你想查看9090端口被哪个进程占用了,可以使用以下命令:
-
Windows系统:
netstat -ano | findstr :9090
这个命令会列出所有使用了9090端口的进程,其中包括进程的PID(Process ID)。你可以根据PID在任务管理器中查找对应的进程。
-
Linux或macOS系统:
sudo lsof -i:9090
这个命令会列出所有使用了9090端口的进程,其中包括进程的PID和进程名。你可以根据PID在终端中使用kill命令杀死对应的进程。
如果你想要在命令行中关闭占用9090端口的进程,可以使用以下命令:
-
Windows系统:
taskkill /F /PID <PID>
其中是进程的PID。
-
Linux或macOS系统:
sudo kill <PID>
其中是进程的PID。