goft
搜索文档…
应用层之DTO
DTO(Data Transfer Object) 术语叫做数据传输对象
其实很好理解,传统的开发很多同学会把实体直接用JSON输出。

那么问题来了,以用户实体为例:

type UserModel struct {
UserId int `gorm:"column:user_id;primary_key;auto_increment" json:"user_id" xorm:"'user_id'"`
UserName string `gorm:"column:user_name" json:"user_name" xorm:"'user_name'"`
UserPwd string `gorm:"column:user_pwd" json:"-" xorm:"'user_pwd'"`
}
难道我们直接把用户密码也显示出去?
可能有的同学会说 取到值后手工把UserPwd清掉完事。
-------也不是不可以,但是就没逼格了

所以我们需要专门有个 对象用于显示用户信息

type SimpleUserInfo struct {
Id int `json:"id"`
Name string `json:"name"`
City string `json:"city"`
QQ string `json:"qq"`
}
取到值后,用手工赋值或反射的方式转换。具体用不用反射根据场景定
复制链接
大纲