nic*_*gkd 0 java dto spring-boot
我的控制器中有一个 HTTP 类型 POST 的 REST 端点(/用户),该 REST 端点接受具有以下属性的用户 RequestBody:
{
name: 'abc',
address: 'xyz',
phoneNo: '123',
age: '12',
email: 'xyz@gmail.com'
}
Run Code Online (Sandbox Code Playgroud)
我的要求是,age应该是完全可选的,就像用户调用 REST 端点而不age在有效负载中指定(关键字)一样,它应该像魅力一样工作。例如
{
name: 'abc',
address: 'xyz',
phoneNo: '123',
email: 'xyz@gmail.com'
}
Run Code Online (Sandbox Code Playgroud)
因此,如果用户没有在age有效负载中指定关键字,我就会执行默认的业务逻辑,另一方面,如果用户指定age关键字及其值,那么我就会有一些其他逻辑需要处理。
仅供参考 - 我创建了一个 DTO 类,其中Users声明了所有属性,其外观如下
@Data
class Users{
@NotNull
private String name;
@NotNull
private String address;
@NotNull
private String phoneNo;
private String age;
@NotNull
private String email;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果有人为我提供一种处理问题陈述的方法,我将不胜感激。
谢谢,外星人!
在 DTO 类上使用注释@JsonIgnoreProperties(ignoreUnknown = true),这样,如果 RequestBody 没有该属性,则该属性将被忽略。
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
class Users {
.......
.......
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |