如何使用 GORM 高效过滤查询结果中的敏感信息?

2024-11-09 22:16:31 编辑:抖狐科技 来源:摘自互联网

如何使用 gorm 高效过滤查询结果中的敏感信息?

go 响应数据 vo 如何高效过滤 gorm 查询结果中的敏感信息?

假设你有一个 gorm 查询结果,其中包含包含敏感信息(例如密码)的数据结构。现在你需要过滤掉这些敏感信息,只返回必要的字段。

除了手动循环查询结果并创建删除敏感字段的映射外,还有更快捷的方法:

1. 使用 gorm 钩子

你可以使用 gorm 钩子在查询后自动清除敏感字段。在模型结构体中添加一个 afterfind 方法:

func (u *merchant) afterfind(tx *gorm.db) (err error) {
    u.password = ""
    return
}

登录后复制

2. 使用仅包含部分字段的结构体

你可以创建另一个只包含需要字段的结构体,然后使用该结构体接收查询结果:

type MerchantBase struct {
    Id       int    `json:"id" gorm:"comment:''"`
    Username string `json:"username" gorm:"comment:'用户名'"`
}

// 查询相关
db.Model(&Merchant{}).Find(&MerchantBase{})

登录后复制

以上就是如何使用 GORM 高效过滤查询结果中的敏感信息?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢