Spring Boot @JsonIgnore 在实体上,有时我希望一个属性作为 Json 返回

She*_*tal 6 spring jackson spring-data-jpa spring-boot

我有一个正在使用 Spring Boot 构建的 API。API 将返回配方。

我有一个@Entity,它包含我的食谱的所有属性,包括类别、成分和制作食谱所需的步骤等内容。

我有两个 API 端点,一个返回配方列表 (/recipes),另一个返回单个配方的详细信息 (/recipes/49)。

我的问题是,在列出食谱 (/recipes) 的端点中,我不想返回诸如成分和步骤之类的属性,但我确实想在提供有关单个食谱的详细信息的端点中返回它们 (/recipes/49 )。问题是使用 @JsonIgnore 总是从所有 JSON 响应中删除属性,这不是我需要的。

我试图做一些研究,但似乎无法找到解决方案,我能想到的唯一方法是始终循环遍历每个配方并填充某种仅具有必要属性的响应对象他们正在返回的端点,但这“感觉”不对。

有人能够确认您将如何执行此操作吗?

Mar*_*rey 1

看看我的杰克逊插件。我正是为了这个目的而开发它的。

https://github.com/Antibrumm/jackson-antpathfilter