如何使用 Playframework 呈现特殊的 XML/JSON 风格
Posted
技术标签:
【中文标题】如何使用 Playframework 呈现特殊的 XML/JSON 风格【英文标题】:How to render special XML/JSON Flavours with Playframework 【发布时间】:2013-12-08 09:17:02 【问题描述】:根据James Wards Play Tutorial,从模型中获取 JSON 非常容易。同样对于 XML,这应该很简单。
但大多数时候,我不仅需要构建一个普通的 XML 或 JSON 端点,还需要提供它们的特殊风格。就我而言,这是GeoJSON 或TopoJSON。但在 XML 中,它可能是一个简单的 RSS 或 ATOM Feed,您必须从模型中交付。有时,构建一个适合非常讨厌的 XSD 模式的 XML 仍然是一种情况。
您有哪些选择来执行此操作,或者您会推荐以下哪一项?:
-
如果是 GeoJSON/TopoJSON:激活 JSON 作为模板格式,并创建 JSON 模板
如果是 ATOM/RSS:只需使用 XML 模板
修改来自
toJson(tasks)
的 JSON 响应的某种方式?
使用一个可以开箱即用的精美库,除了我之外,每个人都知道它?
【问题讨论】:
【参考方案1】:-
如果您正在使用 GeoJSON,只需根据 GeoJSON 规范使用 Jackson 注释来注释您的对象,这并不难。如果这很难,那么有一些库附带 Java 对象,并为您提供了必要的注释,例如:https://github.com/opendatalab-de/geojson-jackson
XML 模板可能是 Java 中最简单的模板。
您的用例是什么? toJson 返回一个 Jackson JSONNode。您可以根据需要修改它。但更好的做法是在您的对象上使用 Jackson 注释,以便首先获得正确的格式。
我想你指的是杰克逊,它可以做任何你想做的事情。如果您愿意,它甚至可以执行 XML。
【讨论】:
谢谢!几乎是我一直在寻找的东西,尤其是 geojson-jackson 正是我害怕自己做的事情。看起来是时候贡献一个 TopoJSON 部分了。以上是关于如何使用 Playframework 呈现特殊的 XML/JSON 风格的主要内容,如果未能解决你的问题,请参考以下文章
每种错误类型的 PlayFramework Application 2.7.x 自定义错误页面
如何使用 JPA 在 playframework 1.2.4 中执行存储过程?
如何在 playframework 中使用 guice 使用提供程序进行依赖注入