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

如何将RestTemplate与不同的ResponseEntities

屠盛
2023-03-14

如果xmlwebservice可以用不同的xml结构响应呢?例如 具有完全不同的字段?

ResponseEntity<Response> rsp = restTemplate
        .postForEntity(url, new HttpEntity<>(xml, HEADERS), OkResponse.class);
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({
    OkResponse.class,
    ErrorResponse.class
})
public class AbstractResponse {

}

共有1个答案

党宇定
2023-03-14

使用string.class

    ResponseEntity<String> rsp = restTemplate
            .postForEntity(url, new HttpEntity<>(xml, HEADERS), String.class);

String responseBody = (String)rsp.getBody();

 Object response=mapper.readValue(responseBody, Class.forName(responseClass))   

一旦获得响应体。使用您想要映射的服务类,并使用jackson映射器转换它。使用反射,因为传递的实体可以是不同的/动态的

 类似资料:
  • 问题内容: 我使用安装了一个软件包,并运行其安装过程,在安装过程中,该软件包还安装了其他几个软件包,并将其添加到(假设)中,我假设使用 npm 。很好,但是现在我不同步了。 同步到当前状态的正确,非手动方法是什么? 编辑:将缺少的软件包显示为: 但这并没有添加它们。 问题答案: 奔跑,或只是。 锁定文件会在对依赖项进行任何更改时(即在您运行yarn命令时)完整更新。 从Yarn文档: 您的yarn

  • 我正在将我的Spring应用程序从Spring-boot 1.5.9迁移到Spring-boot 2.0.0。使用这个新的Spring包,我在Redis中缓存数据时遇到了一些问题。 在我的配置中,我有3个具有不同TTL(长、中、短)的CacheManager: 我还有一个自定义RestTemplate: 在上一个Spring版本中,缓存的每个数据都使用这个RestTemplate,并使用Gener

  • 我的要求是测试这段代码,更重要的是测试序列化器,因此,给出一个JSON片段,我如何测试所有的值都正确地通过商人的实例。 我不知道RestTemplate使用哪个序列化器将JSON序列化为对象。

  • 问题内容: 我想知道这个问题是否可以用Java解决(我是该语言的新手)。这是代码: 我在实验室中收到以下问题:如何在不修改条件本身的情况下跳过第一种情况(即使条件为假)? 问题答案: 一种简单的方法是使用: 您可以使用进行相同的操作。 根据 JLS§15.21.1。 数值相等算子和 : 浮点相等性测试是根据IEEE 754标准的规则执行的: 如果任一操作数为NaN,则结果为为,但结果为。 确实,检

  • 我想知道这个问题是否可以用Java解决(我对该语言是新手)。这是代码: 我在实验中收到以下问题:如何跳过第一种情况(即使条件为假)而不修改条件本身?