Ver código fonte

公共请求方法的搭建

nahida 1 ano atrás
pai
commit
557f01bc2c

+ 17 - 0
data-service/src/main/java/com/zksy/data/config/InitConfig.java

@@ -0,0 +1,17 @@
+package com.zksy.data.config;
+
+
+import com.zksy.data.utils.UnsafeOkHttpClient;
+import okhttp3.OkHttpClient;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class InitConfig {
+
+    @Bean
+    public OkHttpClient okHttpClient() {
+        // 创建 OkHttpClient 实例
+        return UnsafeOkHttpClient.getUnsafeOkHttpClient();
+    }
+}

+ 15 - 0
data-service/src/main/java/com/zksy/data/config/XhConfigProperty.java

@@ -0,0 +1,15 @@
+package com.zksy.data.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@Data
+@ConfigurationProperties(prefix = "xh.api")
+public class XhConfigProperty {
+    private String host;
+    private String port;
+    private String appKey;
+    private String address;
+}

+ 5 - 1
data-service/src/main/java/com/zksy/data/controller/TestController.java

@@ -1,13 +1,17 @@
 package com.zksy.data.controller;
 
+import com.zksy.data.utils.XhRequestUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/test")
 public class TestController {
+    @Autowired
+    private XhRequestUtil xhRequestUtil;
     @RequestMapping("/a")
     public String hello(){
-        return "好想你";
+        return xhRequestUtil.httpRequestByUniCode("914312277790495523","api/1/getXzxkxxByUniscid");
     }
 }

+ 14 - 0
data-service/src/main/java/com/zksy/data/domain/bo/ResultBo.java

@@ -0,0 +1,14 @@
+package com.zksy.data.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ResultBo<T> {
+    private String code;
+    private String message;
+    private T data;
+}

+ 51 - 0
data-service/src/main/java/com/zksy/data/utils/UnsafeOkHttpClient.java

@@ -0,0 +1,51 @@
+package com.zksy.data.utils;
+
+import okhttp3.OkHttpClient;
+
+import javax.net.ssl.*;
+import java.security.GeneralSecurityException;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+
+public class UnsafeOkHttpClient {
+    public static OkHttpClient getUnsafeOkHttpClient() {
+        // Create a trust manager that does not validate certificate chains
+        final TrustManager[] trustAllCerts = new TrustManager[] {
+            new X509TrustManager() {
+                @Override
+                public void checkClientTrusted(X509Certificate[] chain, String authType) {
+                }
+
+                @Override
+                public void checkServerTrusted(X509Certificate[] chain, String authType) {
+                }
+
+                @Override
+                public X509Certificate[] getAcceptedIssuers() {
+                    return new X509Certificate[0];
+                }
+            }
+        };
+
+        // Install the all-trusting trust manager
+        try {
+            final SSLContext sslContext = SSLContext.getInstance("SSL");
+            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
+            // Create an ssl socket factory with our all-trusting manager
+            final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
+
+            OkHttpClient okHttpClient = new OkHttpClient.Builder()
+                    .sslSocketFactory(sslSocketFactory, (X509TrustManager)trustAllCerts[0])
+                    .hostnameVerifier(new HostnameVerifier() {
+                        @Override
+                        public boolean verify(String hostname, SSLSession session) {
+                            return true;
+                        }
+                    })
+                    .build();
+            return okHttpClient;
+        } catch (GeneralSecurityException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}

+ 54 - 0
data-service/src/main/java/com/zksy/data/utils/XhRequestUtil.java

@@ -0,0 +1,54 @@
+package com.zksy.data.utils;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.zksy.data.config.XhConfigProperty;
+import lombok.extern.slf4j.Slf4j;
+import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+@Component
+@Slf4j
+public class XhRequestUtil {
+    @Autowired
+    private XhConfigProperty xhConfigProperty;
+    @Autowired
+    private OkHttpClient okHttpClient;
+    @Autowired
+    private ObjectMapper objectMapper;
+    public String httpRequestByUniCode(String uniCode,String address){
+        HttpUrl url = new HttpUrl.Builder()
+                .scheme("http")
+                .host(xhConfigProperty.getHost())
+                .port(Integer.valueOf(xhConfigProperty.getPort()))
+                .addPathSegment(address)
+                .addQueryParameter("UNISCID", uniCode)
+                .build();
+        Request request = new Request.Builder()
+                .url(url)
+                .get()
+                .addHeader("appKey", xhConfigProperty.getAppKey())
+                .build();
+        try {
+            Response response = okHttpClient.newCall(request).execute();
+            if (!response.isSuccessful()) {
+                log.error("当前接口请求失败:{}",address);
+            }
+            if (ObjectUtil.isEmpty(response.body())){
+                log.error("当前接口请求数据出现问题:{}",address);
+            }
+            String s = response.body().string();
+//            objectMapper.readValue(s,String.class);
+            log.info("当前的请求结果:{}",s);
+            return s;
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}