SpringMVC控制层接收前端多个参数
报错I/O error while reading input message; nested exception is java.io.IOException: Stream closed
【Controller】
@PostMapping("/list") public Result> list(@RequestBody ReviseInfo reviseInfo, @RequestBody ReviseRequest reviseRequest){ return reviseAdaptor.list(reviseInfo, reviseRequest); }
【ReviseInfo】
@Data public class ReviseInfo { @MongoId private String id; private String subjectId; private String versionId; private String fragOri; private String fragFixed; private Integer type; }
【ReviseRequest】
@Data public class ReviseRequest { private Listdata; }
传参
{ // 当前稿件ID "subjectId": "5f4b7a6cc04e43398921421aef8b77a2", // 纠错内容列表 "data": [ { "content": "宁厦的好时机历案打算沈查" } ] }
报错I/O error while reading input message; nested exception is java.io.IOException: Stream closed
解决方案
1、创建新的数据传输对象,如ReviseDTO,将需要的参数合并放入一个DTO
【ReviseDTO】
@Data public class ReviseDTO { private String subjectId; private Listdata; }
【Controller】
@PostMapping("/list") public Result> list(@RequestBody ReviseDTO reviseDTO){ return reviseAdaptor.list(reviseDTO); }
2、使用Map
【Controller】
@PostMapping("/list") public Result> list(@RequestBody Map
params){ return reviseAdaptor.list(params); }
【Adaptor/serviceImpl】
import org.apache.commons.collections4.MapUtils; String subjectId = MapUtils.getString(params, "subjectId"); Listdata = (List )MapUtils.getObject(params, "data"); // List data = (List )params.get("data");
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)