目前了解到的共两种情况:

一、如果请求方式是GET,那么@RequestBody注解是无法接收到参数的,显示为空。需要改成POST。

spring from接收参数默认值 springboot接收参数为空_java

二、是参考网上的,这里直接转过来:SpringBoot后端实体通过@RequestBody接收传进来的json为Null的解决办法_弗兰-随风小欢的博客-CSDN博客

楼主今天在开发后端接口的时候,遇到了一个伤脑筋的问题,看下图:

spring from接收参数默认值 springboot接收参数为空_spring from接收参数默认值_02

楼主用@RequestBody注解通过实体去接收前端的json值,前端json值和实体TerminalPosition中字段一一对应的,结果发现无论怎么传,TerminalPosition这个对象接收值始终都为空。

楼主做实验发现把@RequestBody TerminalPosition terminalPosition 改成 @RequestBody String json后,果然是我传入json的字符串。

于是楼主知道,不是传json过程中的错误,而是接受实体的过程中注入出现了问题;

结果定位到了TerminalPosition这个实体类中,如下图:

spring from接收参数默认值 springboot接收参数为空_spring from接收参数默认值_03

发现这个类使用的是@Getter和@Setter注解,省略掉了常用的eclipse生成的getter和setter方法,这样更加的方便。

但是接收参数为空,最终请教了同事前辈找到了问题的所在:

是因为eclipse缺少lombok.jar包和没有安装lombok的环境,因为使用@Getter和@Setter注解,并且使用@RequestBody来接收前端json字符串的话是需要这个lombok的环境;

网上很多文章对于lombok的安装讲的不是很细节,楼主用自己的语言将lombok的安装重头细节的讲一遍:

1.从网上下载lombok的jar包,这里我推荐的是lombok1.16.20.jar这个版本的:
链接:http://mvnrepository.com/artifact/org.projectlombok/lombok/1.16.20

打开链接可以看到如下图:(点击红色箭头即可下载)

spring from接收参数默认值 springboot接收参数为空_spring from接收参数默认值_04

2.下载完毕后打开下载的目录;我这里是D盘的根目录:

spring from接收参数默认值 springboot接收参数为空_jar包_05

 3.打开cmd命令窗口:输入以下指令

spring from接收参数默认值 springboot接收参数为空_java_06

需要注意到:后面跟的路径是自己下载lombok的jar包的路径,每个人可能都不同,按自己的实际路径来

 4.输入命令之后会弹出一个对话框如下图:

spring from接收参数默认值 springboot接收参数为空_spring from接收参数默认值_07

红色箭头说明:因为这个对话框没有定位到我的eclipse安装目录,那么就需要点击这个红色箭头所指的按钮,选到我们的eclipse安装目录即可;(一般都会自动获取到我们的eclipse安装目录)

5.点击上图的Install/Update,然后点击Quit Installer 即可;

提示:这里是通过对话框安装,手动安装的话自己百度,很简单!

6.找到我们的ecllipse安装目录:发现多了一个lombok.jar包

spring from接收参数默认值 springboot接收参数为空_java_08

7.于是打开eclipse.ini文件查看:多了这一行代码

spring from接收参数默认值 springboot接收参数为空_eclipse_09

有了6,7点的情况,就证明我们的lombok环境已经装好了,eclipse可以识别lombok了

8.eclipse可以识别lombok,不是意味着你现在什么都不要做了,还需要在工程中引入lombok.jar包即可(maven工程为例):

<dependency>
    <groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.16.20</version>
</dependency>

大家需要注意的一点是:

我工程中引入的lombok的版本号和装环境的时候的lombok的版本号是一样的,一定要注意版本号要相同,不然也没有效果;

9.上面步骤都做完以后,需要clean一下项目,然后重启eclipse即可

10现在大家可以重新试试了,传json值应该可以接受到了!