[英]How to save and display a json/octet-stream response from a server in spring boot REST service?
[英]Spring Boot REST display id of parent only in a JSON response
假设我有以下课程:
public class ChildEntity {
...
@ManyToOne
private ParentEntity parent;
...
}
现在,我有一个REST端点,该端点从数据库中检索子实体对象,因此我的JSON是以下内容:
{"id": "123", "name":"someName", "parent": { //parent fields here } ... }
我想用另一种方式格式化JSON响应。 我希望父项仅显示数据库中的ID,而不显示整个对象:
{"id": "123", "name":"someName", "parentId": "1" ... }
基本上直接从端点返回实体不是一个好主意。 您在数据库模型和响应之间进行了非常紧密的耦合。 相反,实现一个POJO类,该类将等效于您发送的HTTP响应。
此POJO仅具有所有ChildEntity
字段和parentId
,并将在HTTP层中构造。
请,请参阅注释中的讨论,根据我的看法,从Web层返回的此类对象基本上不是DTO。
我正在注释@JsonIgnore我不想加入JSON响应的任何字段。 为每个实体创建并行POJO是一项昂贵的工作。
@JsonIgnore
@NotNull
@Column(name="DELETED")
private boolean deleted = false;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.