package service import ( "fmt" "github.com/gin-gonic/gin" "net/http" "server-go/entity" ) type ServerAPI struct { } var ServerAPIService = new(ServerAPI) var db = entity.CONGIG.DB func (s *ServerAPI) QueryAPI(c *gin.Context) { fmt.Println("ServerAPI -> QueryAPI") } func (s *ServerAPI) CreateAPI(c *gin.Context) { var serverInfo entity.ServerInfo // get the body err := c.ShouldBindJSON(&serverInfo) if err != nil { fmt.Println("server info error! pls check !") } fmt.Sprintf("server info is => %s", serverInfo) create := db.Create(&serverInfo) //user.ID // 返回插入数据的主键 //result.Error // 返回 error //result.RowsAffected // 返回插入记录的条数 fmt.Sprintf( "inter id is %s , resul error is %s, RowsAffected is %d ", serverInfo.ID, create.Error, create.RowsAffected) } func (s *ServerAPI) FakeAPI(c *gin.Context) { c.JSON( http.StatusOK, new(entity.ServerInfo)) } // UpdateAPI 根据前端传递的参数id进行更新 func (s *ServerAPI) UpdateAPI(c *gin.Context) { var jsonServerInfo entity.ServerInfo err := c.ShouldBindJSON(&jsonServerInfo) if err != nil { return } id := jsonServerInfo.ID // 查询要更新的记录 var dbProduct entity.ServerInfo if err := db.First(&dbProduct, id).Error; err != nil { c.JSON(http.StatusNotFound, gin.H{"error": "Record not found"}) return } // 绑定模型并更新属性 db.Model(&dbProduct).Updates(jsonServerInfo) // 保存更改并提交事务 if err := db.Save(&dbProduct).Error; err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to update record"}) return } c.JSON(http.StatusOK, dbProduct) } // DeleteAPI 跟俊前端传递的id进行删除 func (s *ServerAPI) DeleteAPI(c *gin.Context) { // 获取前端传递的值 id := c.Param("id") // 根据ID删除 是否是软删除 db.Delete(&entity.ServerInfo{}, id) // 软删除 }