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

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

相关推荐
ruanno_top4 小时前
给标签页加 roving tabindex,整组反而键盘进不去了
vue.js
仨孩子的爹4 小时前
CSS打印样式:字体族与行高在纸上的对照实测
vue.js
OpenTiny社区7 小时前
AI Agent场景组件库 TinyRobot v1.0 正式发布:一站式打造您的AI助手
vue.js·github
喵了几个咪9 小时前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
开发语言·人工智能·后端·golang
codeejun10 小时前
每日一Go·MySQL-14、慢 SQL 产生原因全解
sql·mysql·golang
ruanno_top1 天前
轮播每 3 秒自己翻页:键盘停不下来,读屏也不知道换了页
vue.js
大然Ryan1 天前
我用 Go 和 AI 做了一个 macOS 磁盘清理工具:Vole(开源)
go
1-1=01 天前
Vue 3 模板语
前端·javascript·vue.js
Java小卷1 天前
面向 Schema 编程,Vue 3 页面级渲染引擎!轻松玩转各场景 Validation!
vue.js·低代码