[英]How to JSON returning child object details using JPA and Springboot
[英]how to store JSON in POSTGRES using SpringBoot + JPA?
我有一個嘗試保存到數據庫中的有效負載,每當我發布有效負載時,它都會將映射的 JSON 對象返回為 null 而不是傳遞的有效負載中的值。
這是 JSON 有效載荷
{
"authStatus": {
"authStatusCode": 131,
"authStatusDescription": "API call doesn't need authentication"
},
"results": {
"beepTransactionID": 10764659,
"payerTransactionID": "5f51eed7347a7",
"statusCode": "188",
"statusDescription": "Response was received"
}
}
發布到 postman 后
{
"id": 14,
"authStatusCode": null,
"authStatusDescription": null,
"beepTransactionID": null,
"payerTransactionID": null,
"statusCode": null,
"statusDescription": null
}
我的 controller 用於發布
@PostMapping("/payload")
public Payload createPayload(@Valid @RequestBody Payload payload) {
return payloadRepository.save(payload);
}
我的 model
@Entity
@Table(name = "payload", schema = "public")
public class Payload {
private long id;
Integer authStatusCode;
String authStatusDescription;
Integer beepTransactionID;
String payerTransactionID;
String statusCode;
String statusDescription;
public Payload(){
}
//getters and setters
您需要中間對象, Payload
需要更深一些才能完全匹配您的 JSON object 的格式
public class Payload {
AuthStatus authStatus;
Results results;
// Add boilerplate code here
}
public class AuthStatus {
Integer authStatusCode;
String authStatusDescription;
// Add boilerplate code here
}
public class Results {
Integer beepTransactionID;
String payerTransactionID;
String statusCode;
String statusDescription;
// Add boilerplate code here
}
嘗試使用
@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
將有效負載按原樣存儲為 JsonNode 格式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.