【SpringBoot】十:远程访问@HttpExchange[SpringBoot 3]

文章目录

  • 1.准备工作
  • 2. 声明式 HTTP 远程服务

1.准备工作

安装插件
GsonFormat

一个免费的Rest Http服务:
https://jsonplaceholder.typicode.com/

创建项目:
【SpringBoot】十:远程访问@HttpExchange[SpringBoot 3]_第1张图片

2. 声明式 HTTP 远程服务

(1)Todo数据类
【SpringBoot】十:远程访问@HttpExchange[SpringBoot 3]_第2张图片

(2)声明服务接口
【SpringBoot】十:远程访问@HttpExchange[SpringBoot 3]_第3张图片

(3)创建 HTTP 服务代理对象

package com.sdnu.http.config;

import com.sdnu.http.service.TodoService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client.support.WebClientAdapter;
import org.springframework.web.service.invoker.HttpServiceProxyFactory;

/**
 * 无
 *
 * @author Beyong
 * @date 2023/05/24 15:32
 **/
@Configuration(proxyBeanMethods = false)
public class HttpConfiguration {
    @Bean
    public TodoService requireService() {
        WebClient webClient = WebClient.builder().baseUrl("https://jsonplaceholder.typicode.com").build();
        HttpServiceProxyFactory proxyFactory = HttpServiceProxyFactory.builder(WebClientAdapter.forClient(webClient)).build();
        return proxyFactory.createClient(TodoService.class);
    }
}

(4)单元测试
【SpringBoot】十:远程访问@HttpExchange[SpringBoot 3]_第4张图片

【SpringBoot】十:远程访问@HttpExchange[SpringBoot 3]_第5张图片

你可能感兴趣的:(SpringBoot,spring,boot,spring,java)