gpt4 book ai didi

JsonView返回空的JSON对象

转载 作者:行者123 更新时间:2023-12-05 00:57:57 24 4
gpt4 key购买 nike

我正在尝试实现JsonView来选择性地序列化实体中的字段,但是序列化的json有没有字段的空对象。下面是我的代码:

ViewClass:

public class AuditReportView {
public interface Summary {}
}

实体:
@Entity
@SequenceGenerator(name = "AUDIT_REPORT_SEQUENCE_GENERATOR", sequenceName = "EJB_AUDIT_REPORT_SEQ", initialValue = 1, allocationSize = 1)
@Table(name = "DEVICE_AUDIT_REPORT")
@Data
public class AuditReport implements Serializable {

private static final long serialVersionUID = 1246376778314918671L;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AUDIT_REPORT_SEQUENCE_GENERATOR")
@Column(name = "ID", nullable = false)
@JsonView(AuditReportView.Summary.class)
private Long id;

@Column(name = "DEVICE_ID", nullable = false)
@JsonView(AuditReportView.Summary.class)
private String deviceId;

@Column(name = "REPORT_TIMESTAMP", nullable = false)
@JsonView(AuditReportView.Summary.class)
private Calendar reportTimestamp;

@Column(name = "USER_ID", nullable = false)
@JsonView(AuditReportView.Summary.class)
private long userId;

@Column(name = "USERNAME", nullable = false)
@JsonView(AuditReportView.Summary.class)
private String username;

@Column(name = "START_DATE", nullable = false)
@JsonView(AuditReportView.Summary.class)
private Calendar startDate;

@Column(name = "END_DATE", nullable = false)
@JsonView(AuditReportView.Summary.class)
private Calendar endDate;

@OneToMany(mappedBy = "auditReport", fetch = FetchType.LAZY, orphanRemoval = true, cascade={CascadeType.ALL})
private Set<AuditEntry> auditEntries = new HashSet<AuditEntry>();
}

Controller :
   @JsonView(AuditReportView.Summary.class)
@RequestMapping(method = RequestMethod.GET, value = "auditReportSummary")
public @ResponseBody ResponseEntity<?> getAuditReportSummary()
{
final List<AuditReport> auditReports = auditDAO.getAuditReportSummary();

return new ResponseEntity<>(auditReports, HttpStatus.OK);
}

来自 postman 的杰森:
[
{},
{},
{}
]

该数据库只有3个结果,当我调试它时,一定要把它们拉出来,只是没有成员被序列化。我正在使用Spring 4.3.7和Jackson 2.8.7。关于可能出什么问题或从哪里开始调试问题的任何想法?

谢谢

最佳答案

您必须为属性创建getter和setter方法。我做到了,它奏效了。

关于JsonView返回空的JSON对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43242542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com