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);
+ }
+}