很多计算机专业同学做毕设不想用传统 Java,会选择 Go 语言 + Gin 框架来做后端,搭配 Vue 前端实现前后端分离项目。Go 语言部署简单、占用资源少,非常适合毕设演示项目,本篇记录 Gin 后端基础搭建完整流程。
1. 环境准备
首先安装 Go 开发环境,建议使用 Go1.20 及以上版本。
初始化项目:
mkdir gin-vue-demo
cd gin-vue-demo
go mod init gin-vue-demo
go get github.com/gin-gonic/gin
2. 基础项目入口 main.go
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
// 统一返回结构体
type Response struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data interface{} `json:"data"`
}
func main() {
r := gin.Default()
// 跨域中间件
r.Use(func(c *gin.Context) {
c.Header("Access-Control-Allow-Origin", "*")
c.Header("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE")
c.Header("Access-Control-Allow-Headers", "Content-Type")
if c.Request.Method == "OPTIONS" {
c.AbortWithStatus(http.StatusNoContent)
return
}
c.Next()
})
// 测试接口
r.GET("/api/hello", func(c *gin.Context) {
c.JSON(http.StatusOK, Response{
Code: 200,
Msg: "请求成功",
Data: "Hello Gin + Vue",
})
})
// 启动服务,监听8080端口
r.Run(":8080")
}
3. 代码讲解
- 统一返回结构体 Response:规范所有接口返回格式,前端 Vue 接收数据更方便,毕设项目推荐统一封装。
- 跨域中间件:解决前端 Vue 本地调试跨域报错问题,开发阶段直接使用,上线生产可以调整域名限制。
- 路由
/api/hello,以 /api 开头,方便后续 Nginx 反向代理转发,和之前 SpringBoot 项目部署思路保持一致。
4. 运行项目
go run main.go
启动成功后,浏览器访问 http://127.0.0.1:8080/api/hello 即可看到返回的 JSON 数据。
5. 毕设拓展方向
在此基础上,可以继续添加 MySQL 数据库连接、用户登录接口、CRUD 业务模块,快速搭建完整管理系统。Go+Gin 的毕设项目在答辩的时候,也会给老师留下新颖的印象。
总结
Gin 框架上手简单,代码简洁,开发效率高。如果厌倦了 SpringBoot 冗长配置,Go+Gin+Vue 是计算机毕设很不错的备选技术栈。
本篇完整脚手架源码已经上传到我的资源,需要的同学可以下载学习,仅供毕业设计学习参考。