在项目场景中,常为了隐藏某个变量,不暴露给前端,会使用结构体中的json:"-"标签去处理。如密码之类的
在对这个结构体转json串存redis,再取出时,密码已经不见,往往服务端做业务处理不希望隐藏任何属性
目前的解决方案是再定义一个结构体去处理
请问有没有更优的解决方案
在项目场景中,常为了隐藏某个变量,不暴露给前端,会使用结构体中的json:"-"标签去处理。如密码之类的
在对这个结构体转json串存redis,再取出时,密码已经不见,往往服务端做业务处理不希望隐藏任何属性
目前的解决方案是再定义一个结构体去处理
请问有没有更优的解决方案
6 回答4.8k 阅读✓ 已解决
12 回答5.9k 阅读
5 回答5.6k 阅读✓ 已解决
4 回答7.2k 阅读
6 回答2.7k 阅读
2 回答7.4k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
在定义一个结构体去单独处理是个很实在的办法。
没什么太好的替代方案,我想到的就是使用自定义一个tag标签,然后写两个通用函数,一个是系列化结构体以网络传输给客户端,对某些字段进行过滤,一个是序列化以存储到redis,自定义标签,约定好一个,然后根据需要调用序列化函数即可。
一般我还是喜欢,单独写一份明确的代码操作,生怕忘记写字段tag了,默认网络传输不显示敏感字段,需要存储到redis的地方,单独结构体和函数处理敏感字段。