当前位置: 首页 > 知识库问答 >
问题:

RESTFUL webservice spring,XML代替JSON?

吴高峰
2023-03-14

我试图在spring中以XML形式返回对象,与本指南完全相同:http://spring.io/guides/gs/rest-service/

除了我希望对象以xml而不是JSON的形式返回之外。

有人知道我怎么能做到吗?Spring有什么依赖项可以像XML一样轻松地做到这一点吗?或者,我是否需要使用封送器,然后以其他方式返回xml文件?

共有1个答案

佘茂才
2023-03-14

Spring默认支持JSON,但是为了支持XML,请执行以下步骤-

  1. 在计划作为响应返回的类中,添加xml注释。对于例如
    @XmlRootElement(name = "response")
    @XmlAccessorType(XmlAccessType.FIELD) => this is important, don't miss it.
    public class Response {
        @XmlElement
        private Long status;
        @XmlElement
        private String error;

        public Long getStatus() {
            return status;
        }

        public void setStatus(Long status) {
            this.status = status;
        }

        public String getError() {
            return error;
        }

        public void setError(String error) {
            this.error = error;
        }
    }
@RequestMapping(value = "/api", method = RequestMethod.POST, consumes = {"application/xml", "application/json"}, produces = {"application/xml", "application/json"})

公共的

public Response produceMessage(@PathVariable String topic, @RequestBody String message) {
    return new Response();
}
 类似资料:
  • 问题内容: 我正在使用Python的xml minidom,并且一切正常,除了在文本序列中它写出转义字符而不是。如果引号出现在标签中,这当然是有道理的,但它使我在文本中感到困惑。我该如何改变? 问题答案: 查看源代码(如果需要的话,则为Python 3.2),这在_write_data()函数中进行了硬编码。您将需要修改TextNode的writexml()方法-通过对其进行子类化或简单地对其进行

  • 问题内容: 这是一个从来没有一个正确答案的问题,我已经在网上搜索了很多次,却找不到解决方案。 它适用于Firefox,Chrome。我的responseText将像Réunion这样返回char,它将显示为奇怪的符号。 我尝试了许多方法,例如编码和解码,在响应文件中设置标头都无效。我没主意了。请帮助某人。 在主文件中,确保设置了内容类型和字符集。 在您的AJAX加载页面中,确保您位于顶部。 问题解

  • 问题内容: 我正在寻找类似dom4j的东西,但没有dom4j的缺陷,例如不良或缺少文档以及看似停滞的开发状态。 背景:我一直在使用和 倡导dom4j,但是对此感觉并不完全正确,因为我知道该库远非最佳选择(示例:查看如何记录与XSLT相关的Stylesheet类中的方法;运行该传递什么( )作为String mode参数? 要求:与使用 纯JDK(javax.xml和org.w3c.dom软件包)相

  • 我有一个需求,我必须设计一个通过xml控制代码执行流的设计。这是一种状态机,我必须在状态之间移动。大约5年前,我在JBPM 4上使用过JPDL xml。但在最新的JBPM版本中,JPDL似乎不再可用。 基本上我想要像下面这样的东西,(只是基于JPDL建模) 使用JBPM和JPDL可以轻松完成上述操作,但在最新的JBPM中,如果没有JPDL,我不确定如何做到这一点。状态之间的转换基于Java类输出(

  • 问题内容: 问题 在解决这个问题之后,似乎基于文件或磁盘的实现可能是解决我在此处提到的问题的正确解决方案。精简版: 目前,我已将实施为。 条目以相当固定的速率连续添加到其中。稍后对此进行详细说明。 最终,无论如何,这意味着JVM耗尽了堆空间。 在工作中,(强烈)建议我使用SQLite解决此问题,但是在问了上一个问题之后,我认为数据库不是适合此工作的合适工具。所以- 让我知道这听起来是否疯狂 -我认

  • 在本章中,我们将学习XML DOM对象中的替换节点操作。DOM中的所有内容都保存在分层信息单元中,替换节点提供了另一种更新这些指定节点或文本节点的方法。 以下是替换节点的两个方法 - 1. replaceChild()方法 方法用新节点替换指定的节点。 语法 具有以下语法 - 其中, - 是放入子列表的新节点。 - 是列表中要替换的节点。 此方法返回已替换的节点。 示例 以下示例(replacen