gpt4 book ai didi

java - Spring REST 从以下位置获取对象列表

转载 作者:行者123 更新时间:2023-12-01 09:25:40 24 4
gpt4 key购买 nike

我正在尝试使用 Spring Boot 实现一个客户端,它将从站点获取所有产品并将它们存储在数据库中。存储部分已处理完毕,但我无法获取所有产品的列表。使用 Postman 进行测试时,我可以获得如下正文的响应:

<Response>
<Products>
<Product Id="221">
<Name>Screwdriver<Name>
<Price>5,99</Price>
<Currency>USD<Currency>
</Product>
...
</Products>
</Response>

我有一个包含所有字段、getter 和 setter 的 Products 类。以下是工作原理并输出原始正文 xml:

@Bean
public CommandLineRunner run(RestTemplate restTemplate) throws Exception {

return args -> {
ResponseEntity<String> response = restTemplate.getForEntity(resourceUrl, String.class);
log.info(response.toString());
};

}

但是,我似乎无法让它从 body 中获取所有单独的产品。我最好使用此处获取的主体并将它们映射到单独的对象,还是有直接的方法从restTemplate 执行此操作?

如有任何帮助,我们将不胜感激。

最佳答案

据我了解,您正在寻找一种将 xml 字符串反序列化为 Java 对象的方法。您有很多不同的选择来做到这一点

  1. 使用 JAXB(我个人最喜欢的,因为维护成本低)、XStream或 JibX 库,让它为您处理转换。为此,您可能需要向您的产品添加某些注释类(对于 JAXB,您可以自动生成该类,如果您有访问 XSD)。
  2. 走痛苦的路线 - 使用任何解析器(取决于您的使用情况)案例)DOM、SAX 或 StaX 解析器并在您的拥有。

关于java - Spring REST 从以下位置获取对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39857242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com