java - 如何在 Java Spring 中格式化 JSON 响应?
问题描述
我有一个带有一组私有字段的响应类。前端开发人员要求我以这种 JSON 格式发送服务的响应。到目前为止,响应应该是 JSON 格式,像这样
{
"status": "SUCCESS",
"message": {
"code": "040",
"description": "verified"
},
"qrContent": "aaa | bbb"
}
QrCodePaymentResponse response = new QrCodePaymentResponse();
if (firstThree.equalsIgnoreCase(QRType.EZDYNAMIC.getDescription())) {
axiPayQrCodePaymentService.ezCashDynamicQR(axiPayQrCodePayment,serviceContext);
response.setStatus(RequestStatus.SUCCESS.getStatus());
response.setMessage(----------------);
response.setQrContent(returnValue.getQrContent);
}
如何修改上述代码以发送请求的格式?谢谢。
解决方案
使用弹簧RestController
。它的方法以 JSON 格式返回数据
QrCodePaymentResponse.java
public class QrCodePaymentResponse{
private String response;
private String qrContent;
private Message message;
//set getters and setters
}
消息.java
public class Message{
private String code;
private String description;
//set getters and setters
}
应用控制器.java
@RestController
public class AppController {
@RequestMapping(value="/get", method=RequestMethod.GET)
public QrCodePaymentResponse getPaymentResponse(){
QrCodePaymentResponse response = new QrCodePaymentResponse();
Message message = new Message();
//set values to message
if (firstThree.equalsIgnoreCase(QRType.EZDYNAMIC.getDescription())) {
axiPayQrCodePaymentService.ezCashDynamicQR(axiPayQrCodePayment,serviceContext);
response.setStatus(RequestStatus.SUCCESS.getStatus());
response.setMessage(message);
response.setQrContent(returnValue.getQrContent);
}
return response;
}
}
推荐阅读
- python - MLModel 适用于 MultiArray 输出,但无法成功将输出更改为图像
- javascript - noUiSlider 点数和范围
- excel - 录音已损坏
- python - 如何在 .gz 文件中搜索字符串?
- scala - 在Scala中获取所有以符号开头的字符串/字符
- android - 如何获取 OkHttp 4.x 的 UserAgent?
- javascript - 将一个 json 对象附加到另一个 json 对象中的最后一个 Array
- python - 我不明白我曾经 Glob 多种文件类型的 Python 解决方案
- reactjs - 如何使用 React 和 Typescript 在 useEffect 挂钩中设置状态?
- python - 通过 Microsoft Graph 自动发送电子邮件