每个接口都需要定义一个 VO (入参)吗?例如新增和更新接口在新增时有些 ID 是不需要传的,我是用的同一个入参,校验的话用 spring 的分组校验,但是遇到个问题,输出的 Knif4j 文档上没法根据接口不同来针对性调整字段的展示。请教各位通常是怎么做的?
1
ediron 2022-10-20 09:53:32 +08:00 1
我现在是践行的每个接口单独定义,哪怕只差一个字段,这样虽然代码可能有点冗余,但很松耦合方便维护,其实也是为了符合单一职责原则
|
2
silencil OP @ediron 嗯 是个取舍问题,之前考虑产生的各种模型太多,新增和更新接口就都用同一个了,发现搞的最后有点复杂,注解一大堆。不过模型多不太好维护就是,数据库改个字段,各个模型都要改一遍。
|
3
pannanxu 2022-10-20 10:07:19 +08:00 1
这种情况可以考虑 RestFul 风格 API
修改 PUT:/resources/{id} 新增 POST:/resources 查询详情 GET:/resources/{id} 列表 GET:/resources |
5
Jooooooooo 2022-10-20 10:10:04 +08:00
如果操作的是同一个实体类可以用相同的 vo, 要不然以后加字段, 各个 vo 都得加.
|
6
jeesk 2022-10-20 12:25:21 +08:00
花样太多, 必须很多用 spring 的,用 group 分组字段, 表面可以公用,其实还不错一个接口一个 class 。
|
7
jeesk 2022-10-20 12:27:28 +08:00
楼上已经说得很好了
|
8
857681664 2022-10-20 14:09:35 +08:00
可以用 restful 的接口风格区分新增和更新,payload 公用在代码上比较省事,就是更新单个字段时请求体会比较大
|
9
hdfg159 2022-10-20 14:35:57 +08:00
按照 1 楼说的
|
10
RedBeanIce 2022-10-20 19:38:38 +08:00
按照 1 楼说的
|
11
lsry 2022-10-21 07:47:25 +08:00
按照 1 楼说的
|