Go【gin和gorm框架】实现紧急事件登记的接口

简单来说,就是接受前端微信小程序发来的数据保存到数据库,这是我写的第二个接口,相比前一个要稍微简单一些,而且因为前端页面也是我写的,参数类型自然是无缝对接@_@

前端页面大概长这个样子

先用apifox模拟发送请求测试

apifox可以直接复制JSON对象过来goland自动生成结构体类型,天啊我爱死了

这个是测试代码,当然我们的数据库要记得打开

复制代码
package main

import (
	"github.com/gin-gonic/gin"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"log"
	"net/http"
)

type Emergency struct {
	Date     string `json:"date"`
	Kind     string `json:"kind"`
	FarmCode string `json:"farmCode"`
	Images   string `json:"images"`
	Video    string `json:"video"`
	Detail   string `json:"detail"`
	Result   string `json:"result"`
	Done     bool   `json:"done"`
}

func main() {
	dsn := "username:password@tcp(host:port)/database?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		log.Fatal(err)
	}
	err = db.AutoMigrate(&Emergency{})
	if err != nil {
		return
	}
	router := gin.Default()
	router.POST("", func(context *gin.Context) {
		var emergency Emergency
		err := context.ShouldBindJSON(&emergency)
		if err != nil {
			context.JSON(http.StatusBadRequest, gin.H{"error": "Request Error"})
			return
		}
		result := db.Create(&emergency)
		if result.Error != nil {
			context.JSON(http.StatusInternalServerError, gin.H{"error": "Database Error"})
			return
		}
		context.JSON(http.StatusOK, gin.H{"message": "提交成功"})
	})
	err = router.Run(":8080")
	if err != nil {
		return
	}
}

后面还得添加上一个主键

相关推荐
遨翔在知识的海洋里1 分钟前
nest(3)- filter和Interceptor
后端
挽安62114 分钟前
若依微服务 Nacos 2.x 控制台配置列表为空?一个 tenant_id 字段引发的血案
后端
周杰伦fans20 分钟前
ASP.NET Core Identity 从入门到实战:常见问题与解决方案
后端·asp.net
n8n40 分钟前
Spring AI 三层架构详解:ChatModel → ChatClient → Controller,同步调用 vs 流式调用(SSE)
后端
小傅哥1 小时前
Java + DDD,1:1 复刻 Deepseek Harness 项目
前端·后端·ai编程
Lambert2811 小时前
AgentScope Java 从零(03):Agent 的记性默认全开,我在第 50 轮翻了车
后端·aigc
积硅步致千里1 小时前
Word 里的 .wmf 其实是 EMF:一次 metafile 转 PNG 排障
前端·后端
爱读源码的大都督1 小时前
DeepSeek面试官问:生产RAG系统回答不准确,该如何定位和优化?这样回答,能让面试官当场给你Offer!
java·后端·python
杨运交2 小时前
[069][公共模块]Spring Boot 全局异常处理与参数校验实战(下):校验异常精细化处理与 WebFlux 适配
java·spring boot·后端
Andya_net2 小时前
Spring Boot | 条件注解完全指南:从 @Conditional 到 @ConditionalOnExpression 的原理、实践与避坑
spring boot·后端·python