第一种:直接使用实体类即可接收,但是要在参数里加上@RequestBody注解
第二种:使用Map进行接收,Map里的kv类型为String,然后使用map.containKey()进行匹配判断并转成对应的类型进行处理,同样也要加上@RequestBody注解
第三种:使用List进行接收,同样也要加上@RequestBody注解,List类型为对应实体类的类型
第四种:如果JSON对象里有参数和实体类是对应不上的话,而又只能使用一个实体类去接收的话,如果前端是使用vue的话,使用QS工具即可,QS是一个第三方库,使用npm install qs --save进行安装,QS全程QueryString,查询字符串,具体使用方法是在前端使用axios发出请求的时候,在data参数里使用this.$qs.stringify(),括号里是原本的JSON对象参数即可,而后端要做的就是除了按照原本使用实体类对象接收以外,再使用@RequestParam对额外对参数进行标记即可
//在main.js引入qs
import qs from 'qs'
//配全局属性配置,在任意组件内可以使用this.$qs获取qs对象
Vue.prototype.$qs = qs