需求事件:
前端要使用vue进行文件的上传,但是由于前端框架的封装原因,只能通过url编码进行上传文件中的附带参数的传递,因此有了今天的处理过程。
并且前端由于业务原因,添加了一些不属于后端vo对象的属性,造成了json转化异常
后端开始处理
- java接收到前端传入参数
-
{%22fileId%22:null,%22fileName%22:%222%22,%22typeId1%22,%22attrs23983832121512%22:null}
- 后端接收参数
-
对url编码参数进行处理,JSONObject decodeUploadParam = JSONObject.fromObject(URLDecoder.decode(uploadParam, "UTF-8"))
-
如果不处理不存在的参数,则报属性找不到的错误
-
net.sf.json.JSONException: java.lang.NoSuchMethodException: Unknown property 'attrs' on class 'class com.example.bo.FileUploadBo'
- 后端处理不存在的参数
-
StringBuilder sb = new StringBuilder();