使用SpringMVC 接收部分对象的参数集合。
@RestController
@RequestMapping("/test")
public class TestController {
@Data
static class A{
private String name;
private Integer age;
private String nName;
}
/**
* 保存
* @param a 参数集合
* @return str
*/
@PostMapping("/save")
public String save(@ModelAttribute TestController.A a){
// 1. 保存
return "成功";
}
}
save方法使用 TestController.A 静态的内部类作为多个参数的接收实体。
由于SpringMVC 无法初始化内部类,修改成静态内部类即可
-
这样做的有两个好处:
- 方便参数的拓展
- 方便使用JSR303校验参数
静态内部类跟单独的public类没什么区别,只是写在一个类的内部。你看class文件静态内部类被编译成一个单独的class文件。担心哪些安全问题呢?应该没有安全问题。
话说回来,既然跟public类一样,我还是推荐写一个public类。除非这个类就是public类的一部分。比如有一个Bank类,Account类可以写为静态内部类,因为Account一定属于Bank。