假设有以下类:

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 类的一些属性,例如,只有属性 ab

如果不创建新类,我怎么能做到这一点?

最佳答案

你有两个解决方案



例如,您想从序列化中排除 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/

10-11 01:25