V2EX coollight56
 coollight56 最近的时间轴更新
coollight56

coollight56

V2EX 第 621307 号会员,加入于 2023-03-28 23:04:54 +08:00
coollight56 最近回复了
@IFallowed #41 并没有修改请求发送方的数据格式,而是从请求方的数据里( json 对象)提取我所需的参数,比如一个查询接口请求方发送的 json 对象为
{
"name": "",
"startTime": 1746892800000,
"endTime": 1746979200000,

"pageSize": 10,
"pageNumber": 1
}
可以看到里面有查询相关的参数,也有分页相关的参数,如果用 @RequestBody 需要定义一个完整的对象来接收全部参数,后端开发都知道分页这个功能是很独立的只需要页码和条数就可以,如果我能通过 @ComboParam PageParam 选择性接收分页相关的参数,那么就不需要在每个分页查询的对象上都定义页码和条数 封装出来的对象 PageParam 在整个系统共用
@coollight56 #39 显示不友好 写到补充里了
@cenbiq #37 @cenbiq #36 是的 就是想要把单个 json 对象里的属性拆分开来在 controller 方法参数列表上接收,我这几天已经看到别的大佬的实现,就是自己写一个注解然后处理,spring web 也提供了这面的扩展,同时也实现了组合参数的接收,如下
```java

public ApiResult<PageResult<?>> schemeUserList(@SingleParam @NotNull Long schemeId,
@ComboParam @Valid UserSearchParam userSearchParam,
@ComboParam @Valid PageParam pageParam) {
// TODO
}

```
这样真的很方便,不过大家讨论的更多是全部用 json 来传参符不符合规范。确实不知道怎么样才规范,好像都是学习前人的代码风格,然后想在此基础上优化而已。
@ikas #29 嗯嗯 这也是一种方法
@bitmin #24 是的 看了下别的人的处理方法都是自定义一个注解 ,文档生成确实就没法兼容了
https://blog.csdn.net/llwutong/article/details/116273360
@lisongeee #5 谢谢,涨知识了哈哈,确实可以直接传值,不过这里的场景请求方是用的 json 对象例如这样
{
"key1":"value1",
"key2":[],
"key3":1231
...
},所以我需要针对 json 对象做处理
@carrotliang #11 谢谢 用 Map 确实可以解决,只不过可能还要转换不同参数的类型,如果能像 @RequestParam 一样在参数列表声明参数类型和参数名称,然后 spring web 自动转换那就更好,看来是只能自己封装了
@myderr #10 谢谢 试了一下这样确实可以,但是我司前端一般不会这样传,都是 key value 的键值对,而且其中可能包含别的后端不要的键值对,可能用来做前端的某些判断逻辑,都一起传给后端了 T.T
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3401 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 17ms UTC 04:26 PVG 12:26 LAX 21:26 JFK 00:26
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86