春季启动时的部分响应支持

时间:2018-04-20 02:40:12

标签: spring-boot resttemplate partial-response

我正在为项目使用spring boot。响应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;
}

默认情况下,我们将获取所有字段作为响应,这里我只期待名称字段,当我点击url如localhost:8080 / endpoint?filter = name

1 个答案:

答案 0 :(得分:0)

您可以尝试将返回类型设为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);