golang gorm 某一个结构的Version 为 long long ,如何在通过Gin 返回时,将Version字段转为 string
时间: 2024-03-27 09:38:19 浏览: 125
grom:一个强大的命令行工具,用于将mysql表字段转换为golang模型结构
可以通过结构体的方法实现将 Version 字段转为 string 类型,然后在 Gin 的返回中使用该方法返回的字符串。
例如,假设结构体为:
```go
type User struct {
ID uint `gorm:"primaryKey"`
Name string `gorm:"not null"`
Version int64 `gorm:"not null"`
}
```
可以定义一个方法 `VersionString()` 将 Version 转为 string:
```go
func (u *User) VersionString() string {
return fmt.Sprintf("%d", u.Version)
}
```
然后在 Gin 的返回中使用该方法:
```go
router.GET("/user/:id", func(c *gin.Context) {
id, err := strconv.ParseUint(c.Param("id"), 10, 64)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid user ID"})
return
}
var user User
result := db.First(&user, id)
if result.Error != nil {
c.JSON(http.StatusNotFound, gin.H{"error": "User not found"})
return
}
c.JSON(http.StatusOK, gin.H{
"id": user.ID,
"name": user.Name,
"version": user.VersionString(),
})
})
```
阅读全文