背景
对于增删改查这些操作,现代框架已经提供了比较好的实现。
在这基础上往往有一些扩展需求。
比如说批量的增删改查。
对于玩具代码来说,实现并不复杂。
但在工程上的代码,还是需要考虑下多种情况。
可能需要考虑的问题
- 批量的数据,如何传入web层?
- 批量的数据,如何效验数据有效性?
- 需要与单个操作保持效验的一致性
- 如何返回批量数据操作的状态?
- 批量操作中部分操作,成功了,部分失败了,如何处理?
- 增加插入时,已经有存在的数据了
- 删除时,查找时,修改时,该数据不存在
自己对上面问题的实践
- web层传入问题
- 页面提交的情况: 一般是
checkbox
列表。接收端一个String []
就可以解决。 - 非页面,用key-value方式,可以选取分隔符传入的数组放入一个key中,如http://example.com/del?name=a,b,c。适用于参数简单,查询或者删除。
- 非页面,用json格式来post。合适复杂对象,需要插入数据等,直接可以序列化成传输对象,比简单易用。如:
- 页面提交的情况: 一般是