1

我正在为一个项目使用弹簧靴。响应 json 包含对象的所有字段,但我只期待我想要的字段。

例如,考虑下面的类

public class Employee {

private String id;

private String name;

private String address;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

}

和控制器端点,

@GetMapping("/endpoint")
public Employee getEmpDetail() {
    Employee emp = new Employee();
    emp.setId("1");
    emp.setName("Manikandan");
    emp.setAddress("Karur");
    return emp;
}

默认情况下,我们将得到所有字段作为响应,这里我只希望当我点击 localhost:8080/endpoint?filter=name 之类的 url 时的 name 字段

4

1 回答 1

-3

您可以尝试使用返回类型为ResponseEntity<String>

public ResponseEntity<String> getEmpDetail() {

        Person person = new Person();
        person.setId("1");
        person.setName("AB");
        person.setAddress("Delhi");
        return new ResponseEntity<String>(person.getName(), HttpStatus.OK);
}

您可以根据您的要求过滤掉响应字符串,例如 localhost:8080/endpoint?filter=name 的名称

对于地址,即 localhost:8080/endpoint?filter=address,你可以像

return new ResponseEntity<String>(person.getAddress(), HttpStatus.OK);
于 2018-04-20T06:08:27.817 回答