public String save(@RequestBody @Valid Stad stad) 只有对象的时候是没问题的,现在保存对象的时候还有一个文件同时要上传上来,因为对象封装json在data里面,我想再把json转成对象再校验可以吗
public String save(
@RequestParam("data")String data,
@RequestParam("file")MultipartFile file
) throws IOException {
@Valid
Stad stad = JSON.parseObject(data, Stad.class);
……
}
或者
public String save(
@RequestParam("data") @RequestBody @Valid Stad stad,
@RequestParam("file")MultipartFile file
)
前台
<form id="stad" action="/save" method="post" enctype="multipart/form-data">
<p><input type="file" name="file"/></p>
<p><input type="text" name="name" placeholder="name"></p>
<p><input type="text" name="addr" placeholder="addr"></p>
<p><input type="text" name="router" placeholder="router"></p>
<p><input type="text" name="url" placeholder="url"></p>
<p><button type="submit">提交</button></p>
</form>
非常感谢 @驰星周 提供的方法
最后解决方法多添加了一个对属性的注解验证,只验证实体的时候没有验证,而加上对其中一个属性的验证,实体验证就会起作用了,可能是我哪里写的不对,暂时曲线救国
public String save(
@RequestParam("file")MultipartFile file,
@Valid Stad stad,
@Valid @NotNull String name
)
1 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
直接
public String save(
@RequestParam("file")MultipartFile file,@Valid Stad stad,BindingResult result
)
就可以校验了,表单提交或者ajax上传都可以,不用json转换。
添加回答
举报
0/150
提交
取消