问: vue+springboot如何实现多表单提交
前端 vue中表单包含子表单和input值,子表单包含一些input值和文件(也可能多文件),如何才能发送一次请求到springboot后台
springboot又如何接收?
现在只想到从前端遍历去保存,这会导致其中一个问题,发生错误后之前提交的不会回滚
请求时,把整个data数据发送过去,或者你的表单和子表单的数据都放在一个数组里,接受时候,用map接收,应该是没什么问题的,只要能把所有表单数据传到后台,你也能正常接收到,保存之前,把数据取出来,处理成你需要的存储方式即可
提供一个思路
实际上多表单和文件可以分开处理,上传的多文件在实际表单提交之前执行,或者提交即执行文件的提交,文件的提交使用单独的接口去处理,上传成功后返回 文件唯一标识id 或者加上文件类型用来后面进一步定位文件,然后跟随表单一起提交,多个表单使用JSON格式,不同的表单做Key Value 区分,某一个表单使用一个key, 表单详细内容以及文件id,类型等也一并作为一般的表单数据去提交,如此把文件和表单分开单独处理,后台存储时对应表单存储文件关联id 以及 类型做后面的回显,对后端处理也更加方便,同时有新的文件顶替时后端做数据更新和旧文件的删除即可。
其实嘛,没有必要太细分主表单子表单,你可以自己定义字段来区分是不是子表单的内容,然后都放在一个请求参数表单里面,后台根据字段去区分即可。