SpringBoot后台接收对象和对象集合
在我开发过程中,遇到一对多关系,之间的关系用中间表维系,在接收前台传的数据时,不仅需要接收对象,还需要接收一个对象数组。Subproject subprojectList<SubprojectMid> mid 如果只是一个对象的话,后台直接接收就行了。@RequestMapping("/addSubproject")@ResponseBodypublic Result addSu
·
在我开发过程中,遇到一对多关系,之间的关系用中间表维系,在接收前台传的数据时,不仅需要接收对象,还需要接收一个对象数组。
Subproject subproject
List<SubprojectMid> mid
如果只是一个对象的话,后台直接接收就行了。
@RequestMapping("/addSubproject")
@ResponseBody
public Result addSubproject(HttpServletRequest request, HttpServletResponse response, Subproject subproject)
但是再加上一个集合的话就会变得麻烦起来。
其实我们可以把这个集合放到实体类中,这样后台接收还是只用一个对象就可以了。
//存放多个子项目中间表数据 -- 一对多
private List<SubprojectMid> mid = new ArrayList<SubprojectMid>();
为了防止新增和修改该实体类时这个集合进行干扰,可以在set、get方法上加注解。
@OneToMany
@JoinColumn(name = "id",insertable = false, updatable = false)
public List<SubprojectMid> getMid() {
return mid;
}
public void setMid(List<SubprojectMid> mid) {
this.mid = mid;
}
然后后台接收就行了。
这里贴一下后台接收的格式:
@RequestMapping(value ="/addSubproject", produces = "application/json;charset=UTF-8")
@ResponseBody
public Result addSubproject(HttpServletRequest request, HttpServletResponse response, @RequestBody Subproject subproject)
不定义一下编码格式,后台接收不到数据;不加参数上的注解会报错。
报这个:Cannot generate variable name for non-typed Collection parameter type
这里贴一下postman发请求的格式:
更多推荐
已为社区贡献1条内容
所有评论(0)