gpt4 book ai didi

java - 用于渲染 JSON 的 Spring 模板引擎

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:44 29 4
gpt4 key购买 nike

我来自 Ruby,刚刚开始测试 Spring,发现它相当不错。

不过,我习惯于使用 rabl 等库自定义呈现的 JSON 输出。将内部模型直接公开到 JSON 中感觉真的很不对,就像我现在使用注释 @ResponseBody 并返回模型一样。

有没有人对类似 rabl 但适用于 java/spring 的库有任何提示,或者是否有现有的方法可以使用 spring 轻松完成它而无需在 JSON 中手动编写模板?

最佳答案

Spring 使用 Jackson 进行 JSON(反)序列化。看看 Jackson wiki ;它描述了几种自定义 JSON 生成或解释方式的方法。

据我从您的评论中了解到,您考虑了一些自定义设置。

  • 重命名字段可以通过使用 @JsonProperty("name") 注释字段来实现
  • 不渲染字段可以通过注解字段@JsonIgnore来实现

但是这些确实需要您触摸您的模型。据我所知,如果不至少稍微更改模型类,就无法实现这一目标。 Jackson 中有“views”的概念,但他们仍然需要在您的模型上添加注释。顺便说一句,在实践中,我从未遇到过同时使用 JPA 和 Jackson 注释对 Java 类进行注释的问题。

最后,您可以考虑创建模型的两个版本 - 一个来自您的数据库(或您拥有的任何数据源),另一个用于与用户界面交互。然而,这将需要变压器或转换器的中转站。这是否是一个选项取决于您。

关于java - 用于渲染 JSON 的 Spring 模板引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17591568/

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