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插件时注意这个问题就行了,这个本身就是一个很强大的插件,能节省很多代码

相关推荐
databook11 分钟前
Just:告别 Makefile 的现代命令行任务运行器
后端·命令行
这里有鱼汤13 分钟前
Python初学者常犯的错误汇总,建议收藏
后端·python
程序员爱钓鱼13 分钟前
Go语言中的文件与IO:bufio 和 scanner
后端·google·go
why技术22 分钟前
编码之道,道心破碎。
后端·面试
寻月隐君22 分钟前
Solana 开发进阶:链上事件到链下解析全攻略
后端·rust·web3
看她闹~27 分钟前
javacv添加字幕 剧中显示
java·javacv·字幕
风象南1 小时前
Spring Boot 的 3 种动态 Bean 注入技巧
java·spring boot·后端
移动开发者1号1 小时前
Kotlinx序列化多平台兼容性详解
android·java·kotlin
东阳马生架构10 小时前
商品中心—6.商品考核系统的技术文档
java
晴空月明11 小时前
Java 内存模型与 Happens-Before 关系深度解析
java