gpt4 book ai didi

java - REST/Java 的良好实践

转载 作者:行者123 更新时间:2023-12-01 10:05:58 26 4
gpt4 key购买 nike

我目前正在尝试获取 REST 方面的技能,特别是“良好的”REST、超媒体以及随之而来的所有良好实践方面的技能。

为了做到这一点,我被要求开发一个原型(prototype) REST 服务器,其中包含我选择的数据,并实现我在之后的实际项目中必须使用的所有内容。所以我使用 Spring boot 和 Jackson 制作了一个服务器来进行 json 处理。

我的数据架构与此接近:我有一个 LaunchVehicle 集合(我喜欢 space =D),例如 Ariane V、Falcon 9 等。我可以完美地检索 JSON 对象

{ "name":"Ariane V","country":"Europe","firstFlight":null,"GTO_Payload":1.0,"LEO_Payload":2.3,"weight":136.0 } 

问题是,我想在我的 LaunchVehicle 内添加一个“太空机构”字段,该字段将是一个包含一些字符串和 float 的对象。但是,当客户端检索 LaunchVehicle 时,我不希望它检索完整的 SpaceAgency 对象,而仅检索名称。从这里,他将能够通过收到的响应中包含的超媒体链接来跟踪航天局的链接。

我该怎么做?现在我只能向客户端发送完整的 LaunchVehicle 对象以及 SpaceAgency 对象及其所有字段。是否有任何注释可以实现我想要的功能?谢谢;)

public class LaunchVehicle {


private String name;
private String country;
private Date firstFlight;
private Map<String, Float> characteristics;
private SpaceAgency spaceAgency;

@JsonCreator
constructor...

@JsonProperty(required=false)
getters and setters...

}

非常感谢,如果我不够精确或不够理解,请不要犹豫。

最佳答案

在类级别尝试 @JsonIgnoreProperties 注释。这应该为您提供您想要的功能。

否则,您始终可以使用某种 DTO 对象来创建响应模型,并且只有将在 API 层使用的字段。

我宁愿为 API 层使用适当的 DTO/ApiModel,也不愿使用带有 JSON 注释的完整域对象。

关于java - REST/Java 的良好实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476063/

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