前端传递数据:
handleSubmit() {this.dialogVisible = false; const param = { 'bidSampleImgList': this.fileList, 'id': this.keyId }; this.update(param) },
前端传递字符串到后台,后台通过JSONObject进行接收,注意不是JsonObject.
将字符串数组转换成List集合分两步:
通过JSONObject的getJSONArray方法将字符串数组转换成JSONArray,再用JSONArray的toJavaList方法的将JSONArray转换成List集合。
注意:将JSONArray转化成List集合时,toJavaList方法的参数是实体类的class类型,而不是List<AttachFile>
@PostMapping(value = "edit") public Result editIn(@RequestBody JSONObject jsonObject){ int id = jsonObject.getIntValue("id"); JSONArray jsonArray = jsonObject.getJSONArray("bidSampleImgList"); List<AttachFile> attachFiles = jsonArray.toJavaList(AttachFile.class); In in = new In(); in.setBidSampleImgList(attachFiles); in.setId(id); return inService.editIn(in); }
总结:如果前端要传递一个List到后台,将List放在Map中传递,后台用JSONObject接收,这是基本的思路