linux cpu占用率如何看
304
2022-09-24
《果然新鲜》电商项目(22)- DTO接口细分
文章目录
引言1.问题引入2.何为VO、DO、DTO?3.项目改造
3.1 会员微服务改造
3.1.1 新增VO、DO3.1.2 替换之前的实体类
4. 测试5.总结
引言
在上一节《果然新鲜电商项目(21)- 会员注册功能》,主要讲解如何实现会员注册功能,目的主要还是讲解Feign客户端的调用。
本文主要讲解微服务接口的安全问题,使用DTO如何细分接口中的实体。
1.问题引入
是否想过,请求的实体类是和数据库的实体类是一模一样的,这样会不会造成安全的问题?譬如我需要增加一个字段isVip(表示是否为会员),那请求者如果是非会员,通过抓包,设置为true,那岂不是会造成数据安全的问题么?其实,我们需要改造一下请求的实体内容,让其与数据库对应的实体类有所区别。
2.何为VO、DO、DTO?
在日常的项目开发中:
VO对应于页面上需要显示的数据(表单)DO对应于数据库中存储的数据(数据表)DTO对应于除二者之外需要进行接口形式传递的数据。在传统的项目中,一般不使用DTO和VO的原因无非以下几个:
项目太小,对于一种业务实体,封装成一个DO就够了。
并不熟悉DTO、VO,更不知道他们之间的区别。了解DO\DTO\VO之间的区别,但是懒得用。直接进入主题,修改我们的项目。
3.项目改造
package com.guoranxinxian.util;public class BeanUtils
3.1 会员微服务改造
3.1.1 新增VO、DO
3.修改guoranxinxian-shop-api-member-entity中的UserEntity->UserOutDTO,并把UserOutDTO复制到第一步的“输出参数”包里,改造内容如下:
4.在会员服务guoranxinxian-shop-service-member,新建UserDo(DO实体类)
3.1.2 替换之前的实体类
1.替换注册接口的实体类
过程大致同上!
4. 测试
5.总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~