为什么有些编程界程序员需要两个显示器 postman安装配置及常用功能小结( 三 )
统合约束条件
可以了,这个是设置里好的一个很都差不多的业务场景,当然了,不论什么样的api操作,其中都真包含一些规则:
先添加收货地址:入参:
用户id
收货地址实体信息
约束:
用户id肯定不能为空,且此用户倒是是存在的
收货地址的用处字段肯定不能为空
如果用户还没有收货地址,当此收货地址创建时设置成默认收货地址—
彻底删除收货地址:入参:
用户id
收货地址id
管理和约束:
用户id没法为空,且此用户确实是修真者的存在的
收货地址不能为空,且此收货地址确实是存在地的
确认此收货地址有无是用户的收货地址
可以确定此收货地址是否是为默认收货地址,如果是设置为收货地址,那么又不能并且彻底删除
你要改收货地址:入参:
用户id
收货地址id
强制力:
用户id肯定不能为空,且此用户的确是存在的
收货地址肯定不能为空,且此收货地址的确是存在的
确定此收货地址是否是用户的收货地址
系统默认地址设置:入参:
用户id
收货地址id
约束力:
用户id又不能为空,且此用户的确是未知的
收货地址又不能为空,且此收货地址倒是是存在地的
推测此收货地址是否是用户的收货地址
收货地址列表可以查询:入参:
用户id
管理和约束:
用户id肯定不能为空,且此用户确实是是未知的
单个收到货地址查询:入参:
用户id
收货地址id
加以约束:
用户id不能不能为空,且此用户确实是必然的
收货地址又不能为空,且此收货地址确实是未知的
确定此收货地址是否是是用户的收货地址
加以约束判断和技术选型
对此上述列个的约束条件和功能列表,我你选择几个比较是是的异常处理场景并且分析:再添加收货地址,删出收货地址,获取收货地址列表 。
这样应该是有哪些必要的知识储备呢,让我们看看收货地址这个功能:
添加收货地址中必须对用户id和收货地址实体信息就行校验,那你对于非空的判断,我们要如何接受工具的选择呢?悠久的传统的判断::
上边的例子,要是只可以确定uid为空不过,假如再去可以确定address这个实体中的某些必要的话属性是否是为空,在字段很多的情况下,这所谓是灾难性的 。
那我们应该怎么接受这些入参的判断呢,给大家可以介绍两个知识点:
Guava中的Preconditions类基于了很多入参方法的判断
jsr303的validation规范(目前基于比较好全的是hibernate实现程序的hibernate-validator)
如果不是使用了这两种推荐一下技术,那么入参的判断会变得更加简单的太多了 。帮我推荐大家多使用这些成熟的技术和jar工具包,他是可以下降很多不必要的工作量 。我们只必须把重心扔到业务逻辑上 。而应该不会毕竟这些入参的判断担误更多的时间 。
要如何优雅的设计什么java异常domain可以介绍
据项目场景来看,是需要两个domain模型,一个是用户实体,一个是地址实体.
Addressdomain如下:
Userdomaacross::
行啦,上边是一个模型关系,用户-收货地址的关系是1-n的关系 。上边的@Data是建议使用了一个就是lombok的工具,它自动导入了Setter和Getter等方法,用起来十分方便,感兴趣的东西读者这个可以自身清楚一下 。
dao能介绍
数据连接层,我们不使用了spring-data-jpa这个框架,它要求我们只不需要不能继承框架需要提供的接口,因此通过约定对方法并且起名,就是可以能完成我们打算的数据库操作 。
推荐阅读
- 为什么花呗关了之后再开就用不了 花呗关闭后开通不了怎么解决
- 转什么为什么成语四个字
- 年夜饭的寓意 为什么要吃年夜饭
- 年夜饭为什么叫尾牙 年夜饭什么时候吃
- excel表格为什么下边没有shift了 excel中下方的sheet不见了
- 为什么SSL证书的价格差异那么大 ssl证书有两种
- 为什么右眼近视左眼不近视
- 为什么夏天下冰雹冬天不下
- 为什么白户贷款都批不下来
- 星星为什么会眨眼睛答案