你好,我有一个名为 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 列表一次加载所有行
java - 使用 'fib(N) = [Phi^N – phi^N]/Sqrt[5]' 公式计算
javascript - OpenSea 错误 - 请使用 providerUtils.standa
javascript - 如何为 MUI DataGrid 中的每一行添加一个序列号?
angular - 在 Nx + Angular monorepo 架构中,我应该在哪里放置特定于一
python - 使用 Pandas Align 时,时间序列数据帧返回错误 - valueErro