Частичная поддержка ответа в весенней загрузке

Я использую весеннюю загрузку для проекта. Ответ 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 ответ

Вы можете попробовать с типом возврата как 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/ конечная точка? Фильтр = адрес, вы можете пойти как

return new ResponseEntity<String>(person.getAddress(), HttpStatus.OK);
Другие вопросы по тегам