前端傳遞數據:
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放在JSON中傳遞,后台用JSONObject接收,這是基本的思路