如上图,我的User是一个自定义的对象,属性有
我前台请求的时候,只传一个id和用户名还有密码三个属性的值,后台怎么给这个对象的其他属性设置一个默认值呢?(不能在User构造方法里设置默认值)
直接调用user的set方法呗
这里的参数是一个对象,有N个属性,前台传参的时候可能只传其中的某些个,我想做的是,前台传的就用前台传过来的值,前台没有传的,给一个默认值。
@SKYER5217: 那就在你的第一个截图里 ,用set方法给它传你的默认值。
或者在你的第二个截图里,这样定义,private int age = 10; 如果你前台设置了age,那么这个age就是你前台设置的,如果前台没设置,那就是10
@让我发会呆: 第一张图里怎么传?因为你不知道前台传了那些值啊,你set哪个不set哪个?另外,不能private int age = 10;这样我在其他地方new User的时候也会有默认值了,我想要的效果是类似public void test(@RequestParam(defaultValue = "10") int age){}这样的功能
@SKYER5217: 那你这个User定义的时候只给这个controller的这个方法用呗,而且定义对象的时候,最好能看到层次结构,UserVO、UserDTO、UserBO、User,最后的User和你的数据库表对应,这样你就不用担心这个前端的对象被别人使用了
默认值,直接声明赋值就是了啊,你定义变量本身有个默认值的