Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用SpringDataREST以XML而不是JSON的形式返回响应_Java_Xml_Json_Rest_Spring Data Rest - Fatal编程技术网

Java 使用SpringDataREST以XML而不是JSON的形式返回响应

Java 使用SpringDataREST以XML而不是JSON的形式返回响应,java,xml,json,rest,spring-data-rest,Java,Xml,Json,Rest,Spring Data Rest,目前是RC1(7月16日开始GA),但文档仍有点粗略。到目前为止,我找到的所有示例代码都显示响应默认为JSON,但我需要XML,理想情况下需要XML或基于ACCEPT标头的JSON。我在中找到了一个表明XML将受到支持的源代码。但这是在M2发行时发布的,在RC1之前。我也没有看到项目下的任何问题 那么,有人知道如何让RC1(或快照)生成XML而不是JSON或JSON之外的XML吗?我希望在SpringDataREST中生成XML有一个简单的答案,但我还没有找到。我们默认使用JSON,因为我们认为

目前是RC1(7月16日开始GA),但文档仍有点粗略。到目前为止,我找到的所有示例代码都显示响应默认为JSON,但我需要XML,理想情况下需要XML或基于ACCEPT标头的JSON。我在中找到了一个表明XML将受到支持的源代码。但这是在M2发行时发布的,在RC1之前。我也没有看到项目下的任何问题


那么,有人知道如何让RC1(或快照)生成XML而不是JSON或JSON之外的XML吗?

我希望在SpringDataREST中生成XML有一个简单的答案,但我还没有找到。我们默认使用JSON,因为我们认为这是一个超级简单、轻量级的对象传输“协议”,在大多数情况下都能很好地工作

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

  • 如何用XML表示对象?我是使用属性名作为元素名,还是使用标准元素名并将属性名放入属性中
  • 我在哪里确定属性的类型(无论是复杂还是简单、长、大整数还是其他)
  • 我是否省去了所有自定义映射信息,而只使用JAXB或Spring OXM
  • 我该如何处理链接?我是否使用Atom名称空间链接元素
  • 如果我已经在使用Atom,那么为什么不对所有内容使用Atom表示呢
因为回答这些问题必然会涉及到更多的社区投入,因为这个项目是如此的新,所以我想我们应该等到1.0版之后再添加XML支持。如果在这方面有足够的动力,优先事项显然会发生变化,但我认为这不会在下周发生

有一些机制可以重写(毕竟,这只是一个SpringMVC应用程序),以生成您想要的任何类型的响应。如果使用最新的快照和覆盖,则可以提供导出器输出的DTO的完全不同的表示形式。这是指。您必须检查以获得有关DTO内部外观的必要详细信息,但是用
MyOwnXmlView
替换
JsonView
相对容易


注意:这只适用于REST导出器的当前版本。GA版本将有不同的机制来呈现输出。不过,我将提供钩子来执行任何类型的输出渲染,因此您应该能够通过在配置上设置属性来覆盖输出渲染。如果您为此版本创建一个
视图
子类,那么很可能只需将其更改为GA版本的
HttpMessageConverter

使用最新的Spring IO平台,我们可以实现这一点,而使用IO平台,我们可以 也不需要担心版本

已经发布了如何在另一个堆栈溢出链接中实现,如下所示:


顺便说一句,现在看来JSON接口是可以接受的。但是你的回答很好。