这几天写一个接口返给前端的bean的一个变量是x轴定义为
private List<String> xAxis;
然后联调前端说返回的变量名是"xaxis"!
查资料后说javaBean的属性变量名前两个字母最好要不都大写要不都小写,emm...或者正确生成get和set方法应该是getxAxis()和setxAxis()。
然后发现我在这个bean用的@Getter @Setter注解生成的get和set方法是getXAxis()和setAXxis()。接口返回的属性名是{"xaxis":[]}。
解决方法:
1.应该自己手动生成get和set方法
2.或者使用@JsonProperty注解 @JsonProperty(value = "xAxis")
当然如果bean作为入参里字段是xAxis也同理,如果用的@Getter @Setter注解入参传"xAxis"是接收不到的,入参body的json字符串属性传"xaxis"才可以接收到。
但是测试的时候奇怪的是作为bean入参字段使用@JsonProperty注解 @JsonProperty(value = "xAxis"),入参body的json字符串属性传"xaxis"和"xAxis"都可以接收到值,emm???