前言
有兄弟突然找到我,江湖救急,我以为是啥问题呢?
一看这位小兄弟也是半路出家, 没有对springboot的常用注解有过研究。
不过没大碍,还是那句话, 学习的事情,只有先知和后知
现在你看完这篇文章,你不就学会了,会了不就OK了。
正文
复现 小兄弟的 十万火急 :
模拟一个实体类,接收参数:
模拟写了一个用这个实体作为接收参数的接口:
模拟前端参数,form-data 表单格式,硬是要带前缀 :
然后这时候接收参数,接收不到:
是的,key对不上,接收不到很正常。
OK,我们开始解决一下。
MyInitBinderConfig.java
-
import org.springframework.web.bind.WebDataBinder;
-
import org.springframework.web.bind.annotation.ControllerAdvice;
-
import org.springframework.web.bind.annotation.InitBinder;
-
-
@ControllerAdvice
-
public
class
MyInitBinderConfig {
-
-
@InitBinder("specialCar")
-
public
void
initCar
(WebDataBinder webDataBinder) {
-
webDataBinder.setFieldDefaultPrefix(
"param.");
-
}
-
-
@InitBinder("user")
-
public
void
initUser
(WebDataBinder webDataBinder) {
-
webDataBinder.setFieldDefaultPrefix(
"user.");
-
}
-
-
-
}
代码简析:
然后再在接口上面做下手脚:
ok,再重启一下,看看效果:
可以看到识别出来了,准备做处理了:
效果很OK:
好了该篇就到这。
其实 WebDataBinder 配合InitBinder 针对这种表单方式的入参还能玩很多东西。
针对参数类型做 参数转换、参数处理、参数校验等等,不过其实不是非常常用,不一一介绍。
可能有人会想,会不会还有一种十万火急的场景,不是from-data表单传参,但是前端硬是给咱们加了前缀传过来呢?
post json的那种方式呢?
其实说白了不就是key没对上么, 处理一下就好,当然这种情况,我其实很早就介绍过了,自取吧。
Springboot 一个注解搞定返回参数key转换 【实用】_小目标青年的博客-CSDN博客_springboot返回结果时自定义结果key
转载:https://blog.csdn.net/qq_35387940/article/details/128564805
查看评论