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 是计算机毕设很不错的备选技术栈。

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

相关推荐
紧跟先前的步伐2 小时前
Go AI Agent 实战 11|请求结构、响应结构与 JSON 解析
人工智能·ai·golang·json
用户83134859306982 小时前
Vue3 v-for:常用用法与开发高频坑点
前端·javascript·vue.js
我的div丢了肿么办3 小时前
go语言对路由中的业务逻辑进行抽离
后端·go
利威尔xu4 小时前
Go IM 源码实战(2):WebSocket 握手 11 步,少 1 个参数连不上
后端·websocket·微服务·面试·golang
孔令飞5 小时前
1024程序员节,OneX平台送3套免费Go实战项目
云原生·go·ai编程
小蒜学长6 小时前
基于SpingBoot+Vue的定向越野赛事管理系统的设计与开发(代码+数据库+LW)
java·前端·spring boot·后端·前后端分离·定向越野赛事
利威尔xu6 小时前
万字详解 | Go 进阶(二)GC 三色标记:STW 从 10ms 压到 40μs,1 次 Full GC 让线上 P99 抖了 3 秒
开发语言·后端·性能优化·golang·高并发
紧跟先前的步伐6 小时前
Go AI Agent 实战 12|HTTP 状态码、API 错误处理与日志
开发语言·人工智能·http·ai·golang
pan_junbiao7 小时前
Go语言中的空白标识符
开发语言·后端·golang