相关疑难解决方法(0)

如果存在,则验证struct字段

我正在将一个JSON用户对象发布到我的Golang应用程序,在那里我将'req.body'解码为'User'结构.

err := json.NewDecoder(req.Body).Decode(user)
//handle err if there is one
Run Code Online (Sandbox Code Playgroud)

和'用户'结构:

type User struct {
    Name      string  `json:"name,omitempty"`
    Username  string  `json:"username,omitempty"`
    Email     string  `json:"email,omitempty"`
    Town      string  `json:"town,omitempty"`
    //more fields here
}
Run Code Online (Sandbox Code Playgroud)

虽然我不需要实际验证方面的帮助,但我想知道如果仅将用户名作为JSON对象的一部分包含在内,它将如何验证用户名.目前,如果未包含用户名,则User.Username仍然存在,但是为空""

如何查看"用户名"是否包含在POSTed对象中?

go

7
推荐指数
1
解决办法
8110
查看次数

Golang - 结构之间的转换

我有两个结构

type A struct {
    a int
    b string
}

type B struct {
    A
    c string
    // more fields
}
Run Code Online (Sandbox Code Playgroud)

我想将类型A的变量转换为类型B(A仅定义了对某些部分至关重要的基本字段,而B另一方面包含"完整"数据).

是否可以在Go中,或者我是否必须手动复制字段(或创建方法A.GetB()或类似的东西并使用它将A转换为B)?

casting go data-structures

4
推荐指数
1
解决办法
1850
查看次数

golang-忽略json属性而不被序列化的优雅方法

我有一个用户结构,其中包含诸如密码之类的敏感字段:

type User struct {
    UID string `json:"uid"  binding:"required"`
    Password string `json:"password" binding:"required"`
    EmailAddress string `json:"email" binding:"required"`
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够使用此结构来注册用户并进行更新,删除以及查看。我不希望将密码序列化以供查看。我当然可以制作一个自定义编组,但这是唯一的方法吗?我尝试使用该json:"-"选项,但是这也会在取消编组时将其忽略,这是我不希望的。有没有更好的办法?

编辑: 为了让你们中的一些人放心,我当然不会以明文形式存储密码。它是密码的bcrypt哈希,但仍然如此。搜索用户时,我不希望它返回。

json go

3
推荐指数
3
解决办法
2808
查看次数

标签 统计

go ×3

casting ×1

data-structures ×1

json ×1