Go+Gin+Vue 毕设项目:Gin 框架搭建后端基础接口实战

很多计算机专业同学做毕设不想用传统 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. 代码讲解

  1. 统一返回结构体 Response:规范所有接口返回格式,前端 Vue 接收数据更方便,毕设项目推荐统一封装。
  2. 跨域中间件:解决前端 Vue 本地调试跨域报错问题,开发阶段直接使用,上线生产可以调整域名限制。
  3. 路由/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 是计算机毕设很不错的备选技术栈。

本篇完整脚手架源码已经上传到我的资源,需要的同学可以下载学习,仅供毕业设计学习参考。

相关推荐
ym hyd 1119 小时前
试题库管理系统源码 Java+SpringBoot+Vue3 前后分离
java·vue.js·spring boot·毕设
JWASX14 小时前
Java 转 go 学习 - 类型转换
学习·golang
雪芽蓝域zzs15 小时前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
小小龙学IT17 小时前
Go 语言 encoding/json 标准库深度解析:从 Tag 反射到流式处理
golang·json
JWASX1 天前
Java 转 go 学习 - 函数(1)
学习·golang
福兮说1 天前
Go slices 包的七个坑:Delete 把旧切片清零、Insert 时而写穿、SortFunc 不稳定(Go 1.25 实跑)
go
web打印社区1 天前
HTML5 静默打印:前端页面怎么调用打印机且尽量不弹窗
前端·javascript·vue.js·pdf·html·html5
看浪的路人1 天前
第7讲:实时告警与自动化响应
开发语言·后端·golang
小小龙学IT1 天前
Go 语言 database/sql 标准库深度解析:从连接池到驱动抽象
数据库·sql·golang