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

Spring REST获取对象列表

冀永寿
2023-03-14

我试图实现一个使用Spring Boot的客户机,它将从一个站点获取所有产品并将它们存储在数据库中。储存部分已经处理好了,但我很难找到所有产品的清单。当用Postman测试时,我可以用这样的身体得到响应:

<Response>
    <Products>
        <Product Id="221">
            <Name>Screwdriver<Name>
            <Price>5,99</Price>
            <Currency>USD<Currency>
        </Product>
        ...
   </Products>
</Response>
@Bean
    public CommandLineRunner run(RestTemplate restTemplate) throws Exception {

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

    }

共有1个答案

洪鹏海
2023-03-14

据我所知,您正在寻找一种将xml字符串反序列化为Java对象的方法。你有许多不同的选择来做这件事

  1. 使用JAXB(我个人的最爱,因为维护较少)、XStream或JibX库,让它们为您处理转换。为此,您可能需要向产品类添加某些注释(对于JAXB,如果您有权访问XSD,您可以自动生成注释)。
  2. 走一条痛苦的路--使用任何解析器(取决于您的用例)DOM、SAX或StaX解析器,并自己创建产品实例
 类似资料:
  • 问题内容: 我有一个JavaScript对象,例如 如何获取此对象中键的长度和列表? 问题答案: var obj = {

  • 我有一个提供某种搜索的应用程序页面,它将搜索结果项列表返回给用户。因此,我的测试首先登录到应用程序,然后在主页上开始搜索,如下所示: 测试搜索结果是否包含设计方面的预期列表项的最佳实践方法是什么? > 我可以向Page对象添加返回结果项的方法,然后我可以在测试类上对它们做任何我想做的事情。 我可以向页面对象本身添加比较方法。

  • 问题内容: 当存在时,是否有可能获得全部列表?是否为此准备了电话,还是我必须编写一个foreach循环,如: 问题答案: Java 8及更高版本: 如果需要确保得到结果,则必须将最后一行更改为: Java 7及以下版本: Java 8之前的标准集合API不支持这种转换。您必须编写一个循环(或将其包装在您自己的“地图”函数中),除非您使用一些更高级的集合API /扩展。 (您的Java代码段中的行正

  • 我有两个问题: 如何使用spring RestTemplate映射JSON对象列表。 如何映射嵌套的JSON对象。 我正在尝试使用https://bitpay.com/api/rates,方法是按照http://spring.io/guides/gs/consource-rest/的教程学习。

  • 一般来说,我们可以通过 query() 方法来查询物体(即获取对象)。找到物体后,就可以通过 ThingJS API 提供的功能来控制该物体了。本节教程中,主要介绍 query() 查询的方法。 另外,我们还可以通过父子属性或者分类属性来查询物体,参阅参考信息中的其他查询方法。 获取对象的语法 通常,我们可以通过 query() 方法来获取对象/物体。 var obj = app.query(va

  • 我有一个带有 RestAssured 的测试自动化宠物项目,我想让它在架构上开发,以便使代码可重用,测试脚本易于阅读。我有表示API的请求和响应的类,我也有DTO类。例如,下面是一个与终结点一起使用的类: 如您所见,有一个父类< code > EndpointTechnicalSteps ,我想用它来处理来自endpoint的响应。例如,我想在< code > endpoint technical