java返回以xml的方式_java-使用Spring-Data-Rest以XML而不是JSON的形式返回响应

当前的RC1是Spring-data-rest(即将于7月16日在GA发布),但是文档仍然有些粗略.到目前为止,我发现的所有示例代码均显示默认为JSON的响应,但我需要XML,理想情况下,还需要基于ACCEPT标头的XML或JSON.我在some comments in a DZone link中找到了一个表明将要支持XML的来源.但这是在RC1之前的M2版本中发布的.我在该项目下的“问题”中也看不到任何内容.

因此,有人知道如何使RC1(或SNAPSHOT)产生XML而不是JSON或除了JSON之外.

解决方法:

我希望在Spring Data REST中有一个简单的答案来生成XML,但是我还没有找到答案.我们默认使用JSON,因为我们认为这是用于传输对象的超级简单轻便的“协议”,并且在大多数情况下都可以正常工作.

XML有两个问题,我们还没有找到合理的答案:

>如何用XML表示对象?我是将属性名称用作元素名称,还是使用标准元素名称并将属性名称放入属性中?

>在哪里可以识别属性的类型(复杂还是简单,Long,BigInteger或您拥有什么)?

>是否不需要所有自定义映射信息,而仅使用JAXB或Spring OXM?

>我如何处理链接?我是否使用Atom命名空间链接元素?

>如果我已经在使用Atom,那么为什么不对所有内容都使用Atom表示呢?

由于自从这个项目如此新以来,回答这些问题必然会比我们投入的社区投入更多,所以我想我们要等到1.0版之后的版本才能添加XML支持.如果在这个方向上有足够的动力,优先级显然会发生变化,但是我只是看不到下周会发生这种情况.

您可以重写某些机器(毕竟,这只是Spring MVC应用程序),以产生所需的任何响应.如果您使用最新的快照并覆盖the RepositoryRestMvcConfiguration.contentNegotiatingViewResolver() method,则可以提供从导出器出来的DTO的完全不同的表示形式.这称为in the wiki.您必须检查the source code of JsonView以获取DTO内部外观的必要详细信息,但是用MyOwnXmlView替换JsonView相对容易.

注意:这仅适用于当前版本的REST导出器. GA版本将使用不同的机制来呈现输出.但是,我将提供钩子来执行任何类型的输出渲染,因此您应该能够通过在配置上设置属性来覆盖输出渲染.如果为此版本创建View子类,则可能仅是将其更改为GA版本的HttpMessageConverter即可.

标签:rest,spring-data-rest,xml,json,java

来源: https://codeday.me/bug/20191201/2078086.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值