sql-server - GORM GOLANG/Go msSQL UNIQUEIDENTIFIER

你好,我有一个名为 person 的结构,当我调用我的 rest 端点并从 mssql 数据库(其中 ID 是 ID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() )

package entities import ( mssql "github.com/denisenkom/go-mssqldb" "time" )
type Person struct { 
ID mssql.UniqueIdentifier 
FullName string Comments
string DateCreated time.Time 
DateModified time.Time
}

然后 golang 返回带有数字数组的响应 当我将 ID 更改为字符串时,它有不可读的字符。 不良 react 在像 api 这样的调用之后,我得到了

{ "ID": [ 160,63, 67,62,243,107,20,16,143,174,0, 45,192,113,147,0 ],
"FullName": "Tony Stark",
"Comments": "",
"DateCreated": "2022-04-06T10:12:18.523Z",
"DateModified": "2022-04-06T10:12:18.523Z" 
}

我想要这样的回应

{ "ID": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"FullName": "Tony Stark",
"Comments": "",
"DateCreated": "2022-04-06T10:12:18.523Z",
"DateModified": "2022-04-06T10:12:18.523Z" }
func Getperson(w http.ResponseWriter, r *http.Request) {
var persons []entities.person
database.Instance.Raw("SELECT * FROM Persons").Scan(&person)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(person)
}
func Connect(connectionString string) {
    //dsn := "sqlserver://sa:*****@127.0.0.1:1433?database=mydbforgo"
    Instance, err = gorm.Open(sqlserver.Open(connectionString), &gorm.Config{})
    if err != nil {
        log.Fatal(err)
        panic("Cannot connect to DB")
    }
    log.Println("Connected to Database...")
}

我哪里有问题?

最佳答案

您实际上需要对该值调用 .String(例如:someStruct.uniqueID.String())以获得 GUID 的字符串表示形式: https://github.com/denisenkom/go-mssqldb/blob/master/uniqueidentifier.go#L72-L80

关于sql-server - GORM GOLANG/Go msSQL UNIQUEIDENTIFIER 内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71784800/

相关文章:

ios - 带有部分和滑动操作的 SwiftUI 列表一次加载所有行

html - 如何用 CSS 连接大写单词?

reactjs - 组件 Prop 中不兼容的函数参数

java - 使用 'fib(N) = [Phi^N – phi^N]/Sqrt[5]' 公式计算

javascript - OpenSea 错误 - 请使用 providerUtils.standa

javascript - 如何为 MUI DataGrid 中的每一行添加一个序列号?

angular - 在 Nx + Angular monorepo 架构中,我应该在哪里放置特定于一

python - 使用 Pandas Align 时,时间序列数据帧返回错误 - valueErro

node.js - 在 Github 操作中获取错误 : connect ECONNREFUSED

javascript - 在 Promise.all 中 react setState