Java 如何使用SpringBoot+;JPA?
我有一个试图保存到数据库中的负载,每当我发布负载时,它都会将映射的JSON对象返回为null,而不是传递的负载中的值 下面是JSON负载Java 如何使用SpringBoot+;JPA?,java,spring-boot,Java,Spring Boot,我有一个试图保存到数据库中的负载,每当我发布负载时,它都会将映射的JSON对象返回为null,而不是传递的负载中的值 下面是JSON负载 { "authStatus": { "authStatusCode": 131, "authStatusDescription": "API call doesn't need authentication" }, "
{
"authStatus": {
"authStatusCode": 131,
"authStatusDescription": "API call doesn't need authentication"
},
"results": {
"beepTransactionID": 10764659,
"payerTransactionID": "5f51eed7347a7",
"statusCode": "188",
"statusDescription": "Response was received"
}
}
把它寄给邮递员后
{
"id": 14,
"authStatusCode": null,
"authStatusDescription": null,
"beepTransactionID": null,
"payerTransactionID": null,
"statusCode": null,
"statusDescription": null
}
我的管制员
@PostMapping("/payload")
public Payload createPayload(@Valid @RequestBody Payload payload) {
return payloadRepository.save(payload);
}
我的模型
@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对象的格式完全匹配
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
}
您需要中间对象,
Payload
需要更深一点,以便与JSON对象的格式完全匹配
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格式,请尝试使用
@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
要按原样将有效负载存储为JsonNode格式,我在哪里设置上述的getter和setter,以及如何调用save?Raymond,自己添加getter和setter没有问题。保存机制保持不变。
public class AuthStatus
和public class Results
抱怨我没有将它们公开,如果它们是公开的,则抛出错误在自己的文件中创建它们哪个类将具有实体注释和表名?哪一个将包含主id?嗨@Yassin,我在哪里设置上面的getter和setter,以及如何调用save?Raymond,自己添加getter和setter没有问题。保存机制保持不变。public class AuthStatus
和public class Results
抱怨我没有将它们公开,如果它们是公开的,则抛出错误在自己的文件中创建它们哪个类将具有实体注释和表名?哪一个将包含主id?hi@dhiraj,我想从json字符串中提取特定值并插入到列和行,而不是整个jsonhi@dhiraj,我想从json字符串中提取特定值并插入到列和行,而不是整个JSONA如果有三个表,一个用于有效负载,一个用于Authstatus,另一个用于results,或者它只是sameHi@venkat相同的表您有三个表吗?一个用于payload,一个用于Authstatus,另一个用于results,或者它只是sameHi@venkat相同的表