2024-04-09
藏龙卧虎
00

目录

简介
接口封装
一般步骤
HelloController.go示例
main.go示例
运行测试
总结
赞助请求V3

简介

上一篇的【Go语言框架Gin基础教程一:创建项目】中,介绍了使用 Gin 构建一个简单的Http服务,成功开放了端口,并测试了一个简单的 hello 接口。

通过上篇文章,已经确定Http通信是正常的,接下来可以介绍一下如何进行接收参数,但是在讲解参数接收前,为了便于接口统一管理,我们将接口统一迁移到一个文件夹中,暂且称之为:接口封装。

接口封装

PS:熟悉JavaWeb开发的人应该都知道,这一步相当于Controller封装。

一般步骤

  1. 首先在项目根目录创建一个 controller 文件夹;
  2. controller文件夹内创建代码文件,这里将其命名为 HelloController.go
  3. 将上一篇文章中的 hello 方法迁移到 HelloController.go 中,并重命名为Hello
  4. 修改 main.go 中的代码,指向 controller 中的 Hello方法;

HelloController.go示例

  • 新建的 HelloController.go的代码如下:
go
package controller import ( "fmt" "github.com/gin-gonic/gin" ) // 接口参数必须是 c *gin.Context func Hello(c *gin.Context) { fmt.Println("hello gin") }

main.go示例

修改后的 main.go 代码如下:

go
package main // 引用 fmt 和 gin import ( "fmt" "github.com/gin-gonic/gin" "gin-server/controller" ) func main() { // 创建路由 router := gin.Default() // 路由分组 api := router.Group("/gin") // 开放接口 api.GET("/hello", controller.Hello) // 启动服务并设置端口为 8080 err := router.Run(":8080") if err != nil { fmt.Println("Error: ", err) } }

运行测试

提示:除了使用 go run main.go 运行服务,还可以使用 go run . 来运行。如果项目是多模块时,有时必须使用 go run . 来编译运行。

下面使用 go run .运行:

console
E:\project-my\gin-server>go run . [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached. [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode) [GIN-debug] GET /gin/hello --> gin-server/controller.Hello (3 handlers) [GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value. Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details. [GIN-debug] Listening and serving HTTP on :8080

出现上面的输出信息,表示服务启动成功。然后像上一篇文章提到的测试方式测试即可。测试成功时,可以在命令行界面看到输出 hello gin 文字内容。

总结

  1. 接口独立到其他包中之后,需要首字母大写,如 Hello,否则将对外部不可见。类似于 Java 中的保护类型 protected
  2. go run .表示编译当前文件夹,自动找到 main 入口。

通过本文,你已经学会了Go项目基础的代码封装,下一篇,将开始介绍参数接收的几种方法:【Go语言框架Gin基础教程:参数接收

赞助请求V3

建站因为热爱,生活需要Money,请屏幕前的大佬动动您发财的小手,点击一次以示鼓励,祝您生活愉快!

PS:就目前的访问量,即便每个访客都点一次广告,收入也不足以支付运营成本。如果看不到广告,可能是网络原因或被拦截了,那就算了吧。再次祝您生活愉快~~

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!