From e2d9adbffaf0943ff3d58700a0e16b72d9d5119d Mon Sep 17 00:00:00 2001 From: Saisai Liu <1374434128@qq.com> Date: Wed, 29 May 2024 10:07:40 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E8=8E=B7=E5=8F=96=E4=BF=A1=E6=81=AF=20v?= =?UTF-8?q?ersion-1():=E8=8E=B7=E5=8F=96fluxmq=E4=B8=AD=E7=9A=84=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E6=89=80=E6=9C=89=E4=BF=A1=E6=81=AF=E4=B9=8B?= =?UTF-8?q?=E5=90=8E=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87get=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=85=B6=E4=BB=96=E4=BF=A1=E6=81=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/encodings.xml | 2 + .idea/uiDesigner.xml | 124 ++++++++++++++++++ pom.xml | 1 + src/main/java/com/mobai/Main.java | 7 - .../com/mobai/config/RestTemplateConfig.java | 38 ++++++ .../java/com/mobai/domain/AcceptToken.java | 14 ++ src/main/java/com/mobai/domain/User.java | 19 +++ .../mobai/service/FluxGetInfoServiceImpl.java | 63 --------- .../service/impl/FluxGetInfoServiceImpl.java | 56 ++++++++ 9 files changed, 254 insertions(+), 70 deletions(-) create mode 100644 .idea/uiDesigner.xml delete mode 100644 src/main/java/com/mobai/Main.java create mode 100644 src/main/java/com/mobai/config/RestTemplateConfig.java create mode 100644 src/main/java/com/mobai/domain/AcceptToken.java create mode 100644 src/main/java/com/mobai/domain/User.java delete mode 100644 src/main/java/com/mobai/service/FluxGetInfoServiceImpl.java create mode 100644 src/main/java/com/mobai/service/impl/FluxGetInfoServiceImpl.java diff --git a/.idea/encodings.xml b/.idea/encodings.xml index c2bae49..63574ec 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,6 +1,8 @@ + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1d0ae8a..92b3be8 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,7 @@ org.springframework.boot spring-boot-starter-web + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/com/mobai/Main.java b/src/main/java/com/mobai/Main.java deleted file mode 100644 index a56227b..0000000 --- a/src/main/java/com/mobai/Main.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.mobai; - -public class Main { - public static void main(String[] args) { - System.out.println("Hello world!"); - } -} \ No newline at end of file diff --git a/src/main/java/com/mobai/config/RestTemplateConfig.java b/src/main/java/com/mobai/config/RestTemplateConfig.java new file mode 100644 index 0000000..feabde9 --- /dev/null +++ b/src/main/java/com/mobai/config/RestTemplateConfig.java @@ -0,0 +1,38 @@ +package com.mobai.config; + +import okhttp3.OkHttpClient; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +import java.util.concurrent.TimeUnit; + +@Configuration +public class RestTemplateConfig { + /** + * 没有实例化RestTemplate时,初始化RestTemplate + * @return + */ + @ConditionalOnMissingBean(RestTemplate.class) + @Bean + public RestTemplate restTemplate(){ + RestTemplate restTemplate = new RestTemplate(); + return restTemplate; + } + + /** + * 使用OkHttpClient作为底层客户端 + * @return + */ + private ClientHttpRequestFactory getClientHttpRequestFactory(){ + OkHttpClient okHttpClient = new OkHttpClient.Builder() + .connectTimeout(5, TimeUnit.SECONDS) + .writeTimeout(5, TimeUnit.SECONDS) + .readTimeout(5, TimeUnit.SECONDS) + .build(); + return new OkHttp3ClientHttpRequestFactory(okHttpClient); + } +} diff --git a/src/main/java/com/mobai/domain/AcceptToken.java b/src/main/java/com/mobai/domain/AcceptToken.java new file mode 100644 index 0000000..5059a76 --- /dev/null +++ b/src/main/java/com/mobai/domain/AcceptToken.java @@ -0,0 +1,14 @@ +package com.mobai.domain; + +import lombok.Data; + +/** + * @ClassName AcceptToken + * @Description 描述 + * @Author SaiSai.Liu + * @Date 2024/5/29 9:18 + */ +@Data +public class AcceptToken { + private String accessToken; +} diff --git a/src/main/java/com/mobai/domain/User.java b/src/main/java/com/mobai/domain/User.java new file mode 100644 index 0000000..882ad79 --- /dev/null +++ b/src/main/java/com/mobai/domain/User.java @@ -0,0 +1,19 @@ +package com.mobai.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName User + * @Description 描述 + * @Author SaiSai.Liu + * @Date 2024/5/29 9:05 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class User { + private String username; + private String password; +} diff --git a/src/main/java/com/mobai/service/FluxGetInfoServiceImpl.java b/src/main/java/com/mobai/service/FluxGetInfoServiceImpl.java deleted file mode 100644 index e61d6ff..0000000 --- a/src/main/java/com/mobai/service/FluxGetInfoServiceImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.mobai.service; - -import com.mobai.domain.Result; -import okhttp3.*; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; - -import java.io.IOException; - -/** - * @ClassName FluxGetInfoServiceImpl - * @Description 描述 - * @Author SaiSai.Liu - * @Date 2024/5/28 22:01 - */ -@Service -public class FluxGetInfoServiceImpl implements FluxGetInfoService { - @Override - public Result getInfo() { - String url = "http://39.98.50.223:8080/public/"; - //响应体 - Response response = null; - //登录 - OkHttpClient client = new OkHttpClient().newBuilder() - .build(); - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\r\n \"username\": \"fluxmq\",\r\n \"password\": \"fluxmq\"\r\n}"); - RestTemplate restTemplate = new RestTemplate(); - Request request = null; - request = new Request.Builder() - .url(url+"login") - .method("POST", body) - .addHeader("User-Agent", "Apifox/1.0.0 (https://apifox.com)") - .addHeader("Content-Type", "application/json") - .build(); - try { - response = client.newCall(request).execute(); - System.out.println(response); - } catch (IOException e) { - throw new RuntimeException(e); - } - - //获取信息 -// OkHttpClient client = new OkHttpClient().newBuilder() -// .build(); -// MediaType mediaType = MediaType.parse("text/plain"); -// RequestBody body = RequestBody.create(mediaType, ""); - request = new Request.Builder() - .url(url + "cluster") - .method("GET", null) - .addHeader("User-Agent", "Apifox/1.0.0 (https://apifox.com)") - .addHeader("Accesstoken", response.header("accesstoken")) - .build(); - - try { - response = client.newCall(request).execute(); - System.out.println(response); - } catch (IOException e) { - throw new RuntimeException(e); - } - return Result.success(response); - } -} diff --git a/src/main/java/com/mobai/service/impl/FluxGetInfoServiceImpl.java b/src/main/java/com/mobai/service/impl/FluxGetInfoServiceImpl.java new file mode 100644 index 0000000..2ac8798 --- /dev/null +++ b/src/main/java/com/mobai/service/impl/FluxGetInfoServiceImpl.java @@ -0,0 +1,56 @@ +package com.mobai.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.mobai.domain.AcceptToken; +import com.mobai.domain.ApifoxModel; +import com.mobai.domain.Result; +import com.mobai.domain.User; +import com.mobai.service.FluxGetInfoService; +import okhttp3.*; +import org.apache.catalina.authenticator.SpnegoAuthenticator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * @ClassName FluxGetInfoServiceImpl + * @Description 描述 + * @Author SaiSai.Liu + * @Date 2024/5/28 22:01 + */ +@Service +public class FluxGetInfoServiceImpl implements FluxGetInfoService { + @Autowired + private RestTemplate restTemplate; + + @Override + public Result getInfo() { + String url = "http://39.98.50.223:8080/public/"; + User user = new User("fluxmq", "fluxmq"); + //登录 + AcceptToken token = restTemplate.postForObject(url+"login", user, AcceptToken.class); + + //请求头 + HttpHeaders headers = new HttpHeaders(); + headers.add("token", token.getAccessToken()); + //封装请求头 + HttpEntity> formEntity = new HttpEntity<>(headers); + ResponseEntity exchange = restTemplate.exchange(url + "cluster", HttpMethod.GET, formEntity, String.class); + System.out.println(exchange); + System.out.println(exchange.getBody()); + List apifoxModel = JSON.parseArray(exchange.getBody(), ApifoxModel.class); + // get 获取具体所有信息 + + return Result.success(apifoxModel); + } +}