问题
如下图所示,我们在请求中使用了post方式,然后传递了分页的参数。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201127143403398.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODY1NzA1MQ==,size_16,color_FFFFFF,t_70)
后端controller的代码如下所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201127143502801.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODY1NzA1MQ==,size_16,color_FFFFFF,t_70)
但是发现在实际执行的sql上并没有看到传入的参数。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201127143535468.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODY1NzA1MQ==,size_16,color_FFFFFF,t_70)
再查看浏览器实际传递参数。可以看到page和size两个参数是传递到了后端的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201127143610614.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODY1NzA1MQ==,size_16,color_FFFFFF,t_70)
解决
为controller上的方法添加@RequestBody注解
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201127151155296.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODY1NzA1MQ==,size_16,color_FFFFFF,t_70)
这是由于post请求的传参方式大致分from表单和json流两种方式。前端使用的axios默认是使用json流的方式传递的。
后端不加注解的方式是接收表单的方式。加了注解则是使用json流的方式。