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