RestTemplate + okhttp 实现远程调用

2020-03-04 13:15:25 浏览数 (1)

1. 添加依赖

代码语言:javascript复制
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.3.1</version>
</dependency>

2. 声明 RestTemplate

代码语言:javascript复制
@Component
public class WebConfig {

    /**
     * 基于OkHttp3配置RestTemplate
     * @return
     */
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
    }

}

3. 测试controller

代码语言:javascript复制
@RestController
public class RestTemplateController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/testRestTemplate")
    public GraceJSONResult testRestTemplate(Model model) {
        ResponseEntity<IMOOCJSONResult> responseEntity =
            restTemplate.getForEntity("http://localhost:8001/article/queryIndexArticleList?page=0&pageSize=10", IMOOCJSONResult.class);
        Map result = (Map)responseEntity.getBody().getData();
        return GraceJSONResult.ok(result);
    }
}

0 人点赞