java - 如何自定义弹簧休息控制器的 json 输出
问题描述
我有一个具有以下属性的 POJO 类患者:
public class Patient implements Serializable{
private static final long serialVersionUID = 2L;
private long id;
private String name;
private Date dob;
private String phoneNo;
private String email;
private Address address;
private String username;
private String password;
....
现在,从我的休息控制器中,我只需要在 json 中发送患者的姓名、电话号码、电子邮件和地址。我希望json输出为
{
"check":"Success",
"details":{
"name":"Test User",
"phoneNo":"9876544321",
"email":"test@gmail.com",
"address":"Address"
}
}
此处检查成功/失败仅作为标志添加。
解决方案
只需创建另一个对象并将其用作您的 restful 控制器的响应;
public class PatientResponse implements Serializable {
private static final long serialVersionUID = 2L;
private Check check;
private Detail details;
// getter, setter, etc
public static class Detail {
private String name;
private String phoneNo;
private String email;
private String address;
// getters, setters, etc
}
public enum Check {
Success, Failure
}
}
& 在控制器中
@RestController
public class PatientController {
@GetMapping(...)
public PatientResponse get(...) {
Patient patient = ... // get patient somehow
return mapPatientToResponse(patient); // map Patient to PatientResponse here
}
}
推荐阅读
- apache-spark - PySpark 中来自 Kafka 流数据的数据帧
- java - ORA-00904: 插入表时标识符无效
- python - 如何使用 python 在 Instagram 上发布边车唤醒帖子
- reactjs - 嵌套对象给我带来麻烦
- django - 通过 GitHub Actions 将 Django 项目部署到 AWS EC2 实例
- java - SpringBoot RestTemplate PKIX 路径构建中的 SSL 握手异常失败:sun.security.provider.certpath.SunCertPathBuilderException
- javascript - KeyboardAwareScrollView 阻止嵌套滚动视图和 setState 功能不起作用
- python - Cron 使用 Python 运行旧版本的 sqlite
- json - 在 Flutter App 中将数据加载到地图中的最佳实践?
- python - 确定数据集中最常见的值组合 - pandas