spring Java pojo setter返回类型是int,而getter返回类型是string

h43kikqp  于 12个月前  发布在  Spring
关注(0)|答案(2)|浏览(83)

我正在创建一个API
我的控制器是

public EmployeeResponse(@RequestBody EmployeeRequest reqPacket) { }

我的pojo课是

EmployeeRequest {
    int age;
    String name;
}

所以基本上我的getAge()setAge()方法应该只处理int类型
现在,如果我的请求包是

{
    "name": "smith"
}

表示请求包中没有年龄参数
所以在我的控制器中,它应该默认设置为零(因为类型是int)
但我想知道如果我得到了年龄字段在请求包或没有。
什么是最好的解决方案?
我甚至不能使用@NotNull注解。因为int类型的默认值是零。所以它不会工作..
我可以把getter类型设置为string,把setter类型设置为int吗?

dsekswqp

dsekswqp1#

您只需将字段age更改为Integer类型。如果没有参数传递,它将为null。

pcrecxhr

pcrecxhr2#

尝试创建默认构造函数

EmployeeRequest(String name){
this.name = name;
this.age = 0;
}

相关问题