Parcourir la source

适配core-retrofit修改,增加动态鉴权访问solar服务的demo

luoshi il y a 3 ans
Parent
commit
244b404427

+ 2 - 0
api-demo/src/main/java/com/qmth/demo/api/ApiDemoApplication.java

@@ -1,6 +1,7 @@
 package com.qmth.demo.api;
 
 import com.qmth.boot.core.cache.service.CustomizeCacheConfiguration;
+import com.qmth.boot.core.retrofit.annotatioin.RetrofitScan;
 import com.qmth.demo.api.service.DemoCacheService;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
@@ -14,6 +15,7 @@ import java.time.Duration;
  */
 @SpringBootApplication
 @MapperScan("com.qmth.demo.*")
+@RetrofitScan("com.qmth.demo.*")
 public class ApiDemoApplication {
 
     //    @Resource

+ 14 - 0
api-demo/src/main/java/com/qmth/demo/api/client/SolarTestClient.java

@@ -0,0 +1,14 @@
+package com.qmth.demo.api.client;
+
+import com.qmth.boot.core.retrofit.annotatioin.RetrofitClient;
+import com.qmth.boot.core.retrofit.utils.SignatureInfo;
+import com.qmth.boot.core.solar.model.AppInfo;
+import retrofit2.http.Header;
+import retrofit2.http.POST;
+
+@RetrofitClient(baseUrl = "https://solar.qmth.com.cn/api/open/")
+public interface SolarTestClient {
+
+    @POST("app/info")
+    AppInfo getAppInfo(@Header(SignatureInfo.HEADER_NAME) String signatureInfo);
+}

+ 18 - 6
api-demo/src/main/java/com/qmth/demo/api/controller/SolarController.java

@@ -1,8 +1,12 @@
 package com.qmth.demo.api.controller;
 
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.retrofit.utils.SignatureInfo;
 import com.qmth.boot.core.solar.service.SolarService;
+import com.qmth.boot.tools.signature.SignatureType;
+import com.qmth.demo.api.client.SolarTestClient;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -14,13 +18,21 @@ public class SolarController {
     @Resource
     private SolarService solarService;
 
+    @Resource
+    private SolarTestClient solarTestClient;
+
     @RequestMapping("/app/info")
-    public Object appInfo() {
-        return solarService.getAppInfo();
+    public Object appInfo(@RequestParam String accessKey, @RequestParam String accessSecret) {
+        return solarTestClient.getAppInfo(new SignatureInfo(SignatureType.SECRET, accessKey, accessSecret).toString());
     }
 
-    @RequestMapping("/org/list")
-    public Object orgList() {
-        return solarService.getOrgList();
-    }
+    //    @RequestMapping("/app/info")
+    //    public Object appInfo() {
+    //        return solarService.getAppInfo();
+    //    }
+    //
+    //    @RequestMapping("/org/list")
+    //    public Object orgList() {
+    //        return solarService.getOrgList();
+    //    }
 }