我必须在rest API调用中捕获Spring Boot中对数据传输对象的Jason响应。这是我的回应
"isvalid":true,
"message": {
"normal": {
"show": true,
"body": "testing",
"bodyType": "text"
},
"important": {
"show": true,
"key": "test",
"value": "test"
}
},
"department":"LAB",
"type":"info",
"priority":"normal",
我想编写dto类是捕获响应中嵌套对象的最佳实践。我目前正在使用静态内部类来传递消息,包括普通消息和重要消息。它按预期运行,我想知道是否有更好的方法来处理这种情况
这是我的dto类,(不包括getter,setter和构造函数)
public class myDto {
private boolean isvalid;
private String department;
private String type;
private String priority;
private Message message;
public static class Message{
private Normal normal;
private Important important;
}
public static class Important{
private boolean show;
private String key;
private String value;
}
public static class Normal{
private boolean show;
private String body;
private String bodyType;
}
}
答案 0 :(得分:0)
关于Jackson
的(反序列化)过程,您的DTO非常好。
让我就Java编码约定给您一些小意见:
myDto
是一个类名,因此应读为MyDto
isvalid
应该为驼峰形式,因为它反映了两个词isValid
type
和bodyType
的键入可能会更强一点。也许您可以将enum
与TYPE_A
,TYPE_B
等值结合使用,以使您的域受限。但这只是一个建议。最后但并非最不重要:要特别注意,您所有的内部类始终都是 static
,以便为Jackson
实例化这样的类通过其零参数构造函数。如果它们是非静态的,则不可能。