zoukankan      html  css  js  c++  java
  • 阶段5 3.微服务项目【学成在线】_day04 页面静态化_14-页面静态化-数据模型-远程请求接口

    okhttp的官方文档:

    https://square.github.io/okhttp/

     github的地址

    https://github.com/square/okhttp/

    如何远程请求轮播图的DataUrl

    之前已经添加过引用。

    <dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    </dependency>


    最终使用OkHttpClient

    配置RestTemplate的Bean

    package com.xuecheng.manage_cms;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.autoconfigure.domain.EntityScan;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
    import org.springframework.web.client.RestTemplate;
    
    @SpringBootApplication
    @EntityScan("com.xuecheng.framework.domain.cms")//扫描实体类
    @ComponentScan(basePackages={"com.xuecheng.api"})//扫描接口
    @ComponentScan(basePackages={"com.xuecheng.framework"})//扫描common包下的类
    @ComponentScan(basePackages={"com.xuecheng.manage_cms"})//扫描本项目下的所有类
    public class ManageCmsApplication {
        public static void main(String[] args) {
            SpringApplication.run(ManageCmsApplication.class,args);
        }
    
        @Bean
        public RestTemplate restTemplate(){
            return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
        }
    }

    使用RestTemplate

    在Service里面注入就可以

    测试类去测试RestTemplate





    restTemplate里面有很多的方法

    因为我们刚才写的DataUrl的接口是get的所以这里用getForEntity

    responseType就是响应类型,这里我们用Map

    使用getBody拿到具体的数据

    测试的时候一定要先启动manage-cms的微服务,然后再启动测试的方法!!!!





    测试代码

    package com.xuecheng.manage_cms;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.http.ResponseEntity;
    import org.springframework.test.context.junit4.SpringRunner;
    import org.springframework.web.client.RestTemplate;
    
    import java.util.Map;
    
    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class RestTemplateTest {
        @Autowired
        RestTemplate restTemplate;
    
        @Test
        public void testRestTemplate(){
            ResponseEntity<Map> forEntity = restTemplate.getForEntity("http://localhost:31001/cms/config/getmodel/5a791725dd573c3574ee333f", Map.class);
            Map body = forEntity.getBody();
            System.out.println(body);
    
        }
    }
  • 相关阅读:
    基于python内置方法进行代码混淆
    python-__getattr__ 和 __getattribute__
    python-flask学习
    python-创建进程的三种方式
    python-property、__get__、__set__
    call apply bind
    【算法】js实现最短时间走完不同速度的路程
    图片懒加载实现
    MoonLight可视化订单需求区域分析系统前端
    前端代码基本命名规范和格式规范
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11593250.html
Copyright © 2011-2022 走看看