首页 > 编程语言 > 详细

Spring(003)-消费返回list的rest服务

时间:2019-11-15 00:35:51      阅读:91      评论:0      收藏:0      [点我收藏+]

通过spring提供的RestTemplate就可以访问rest服务。首先需要创建一个RestTemplate,这个需要手动来创建bean

@Configuration
public class DemoRestConfiguration {

    @Bean
    public RestTemplate restTemplate(SimpleClientHttpRequestFactory simpleClientHttpRequestFactory) {
        return new RestTemplate(simpleClientHttpRequestFactory);
    }

    @Bean
    public SimpleClientHttpRequestFactory simpleClientHttpRequestFactory() {
        SimpleClientHttpRequestFactory simpleClientHttpRequestFactory= new SimpleClientHttpRequestFactory();
        simpleClientHttpRequestFactory.setConnectTimeout(1000);
        return simpleClientHttpRequestFactory;
    }
}

需要说明的是,这里使用SimpleClientHttpRequestFactory ,是为了可以设置一些参数等,也可以直接new。

先设计一个返回list的rest服务。

    @GetMapping(value = "/get", produces = "application/json")
    public List<Order> getAllOrders() {
        List<Order> orders = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Order order = new Order();
            order.setOrderId(i);
            order.setOrderName(String.format("order:%d", i));
            orders.add(order);
        }
        return orders;
    }

通过postman访问

技术分享图片

 

通过代码进行访问。

@Service
public class OrderConsumer {

    private static String HOST = "http://localhost:8080/action/";
    @Autowired
    private RestTemplate restTemplate;

    public List<Order> getOrders() {
        Order[] orders = restTemplate.getForObject(String.format("%s/get", HOST), Order[].class);
        return Arrays.asList(orders);
    }
}

这里需要注意的是,传入了数组,最终也返回了数组。

测试代码

技术分享图片

 

Spring(003)-消费返回list的rest服务

原文:https://www.cnblogs.com/Brake/p/11854042.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!