假设有以下类:
public class Foo {
String a, b, c, d;
// The rest of the class...
}
还有一个使用 Springboot 的 REST API Controller :
@GetMapping("/foo")
public Foo myFuntion() {
return new Foo(...);
}
请求
/foo
返回此 JSON:{
"a": "...",
"b": "...",
"c": "...",
"d": "..."
}
但是,我只想返回
Foo
类的一些属性,例如,只有属性 a
和 b
。如果不创建新类,我怎么能做到这一点?
最佳答案
你有两个解决方案
例如,您想从序列化中排除 a 。(只想得到 b,c,d )
public class TestDto {
@JsonIgnore
String a;
String b;
String c;
String d;
//Getter and Setter
}
通过此解决方案,如果 a、b、c、d 中的每一个都为空,则它将从响应中排除。
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class TestDto {
String a;
String b;
String c;
String d;
//getters and setter
}
More information about Jackson annotations
关于Java Springboot : Return only some attributs of an object,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59733661/