lombok首字母小写造成传参无法接受问题

前言

在使用lombok插件开发中,用到了首字母小写,第二个字母大写参数,造成接收参数为空问题

问题

1、定义一个实体类

kotlin 复制代码
@Data
public class User {

    private List<Hello> region;

    @Data
    static class Hello {


        private Float xPosition;


        private Float yPosition;
    }
}

2、 实现一个接口

typescript 复制代码
@RestController
public class IndexController {


    @GetMapping("/index")
    public String index() {
        return "success";
    }


    @PostMapping("/hello")
    public String hello(@RequestBody User user) {
        return "success";
    }
}

访问接口参数,这个时候,发现xPositionyPosition接收为空

原因在于lombok插件默认生成的get、set方法为

导致参数接收为空

解决方法

1、 使用@JsonProperty注解

kotlin 复制代码
@Data
public class User {

    private List<Hello> region;

    @Data
    static class Hello {


        @JsonProperty("xPosition")
        private Float xPosition;


        @JsonProperty("yPosition")
        private Float yPosition;
    }
}

接收参数正常

2、使用编译器自带生成的get、set方法

kotlin 复制代码
@Data
public class User {

    private List<Hello> region;

    //    @Data
    static class Hello {


        //        @JsonProperty("xPosition")
        private Float xPosition;


        //        @JsonProperty("yPosition")
        private Float yPosition;

        public Float getxPosition() {
            return xPosition;
        }

        public void setxPosition(Float xPosition) {
            this.xPosition = xPosition;
        }

        public Float getyPosition() {
            return yPosition;
        }

        public void setyPosition(Float yPosition) {
            this.yPosition = yPosition;
        }
    }
}

总结

使用lombok插件时注意这个问题就行了,这个本身就是一个很强大的插件,能节省很多代码

相关推荐
搞不懂语言的程序员1 分钟前
模板方法模式详解
java·开发语言·模板方法模式
〆、风神3 分钟前
Spring Boot 自定义 Redis Starter 开发指南(附动态 TTL 实现)
spring boot·redis·后端
Asthenia04129 分钟前
HashMap 扩容机制与 Rehash 细节分析
后端
DataFunTalk11 分钟前
不是劝退,但“BI”基础不佳就先“别搞”ChatBI了!
前端·后端
星星电灯猴12 分钟前
flutter项目 发布Google Play
后端
Java小混子16 分钟前
Spring MVC
java·spring·mvc
用户97044387811623 分钟前
按图搜索1688商品(拍立淘)API 返回值说明
javascript·后端·算法
Fly_hao.belief24 分钟前
Spring Boot 框架注解:@ConfigurationProperties
java·spring boot·后端
代码吐槽菌27 分钟前
基于SpringBoot的水产养殖系统【附源码】
java·数据库·spring boot·后端·毕业设计
尽一份心出一份力27 分钟前
等不是办法,干才有希望,快速跑通graphRag
后端·机器学习·开源