场景:现在的技术栈是Java,需要学习一下go语言,然后开发新项目功能。
- 用Gin框架写出HTTP接口
- 用户发帖和回复, 保存在数据库
- 用Go重写 Java项目中发帖功能
1 工具
1.1 go语言
Go 语言之旅,多变量声明方式,Go语言圣经 介绍 | Gin Web Framework
使用可编程网页,一边看视频一边敲,圣经这个作为一个查阅资料的字典用。Gin是web框架,类似于Spring MVC,两个都可以进行路由处理。
1.2 工程仓库
bug:SSL certificate problem: unable to get local issuer certificate
解决:git config --global http.sslVerify false
2 框架
使用gin框架和上图的目录结构新建项目
bug: gin.Default 爆红
解决: go mod init gin
go mod edit -require github.com/gin-gonic/gin@latest
go mod vendor
2.1 发帖页和回复页
代码我放在github仓库[3] 。
2.2 grpc提供RESTful API
go后端响应和接收前端请求的方式不是restful风格[2],后续加强学习 。
参考资料:
[1] Golang实战:构建发帖与回复功能的高效社区论坛系统 - 云原生实践
[2] gRPC(Go)教程(七)---利用Gateway同时提供HTTP和RPC服务
[3] https://github.com/May16138cccccccccccccccc/go-article-demo.git