From cc1fc2b360dca6b206d8159e203aaf40926058c9 Mon Sep 17 00:00:00 2001
From: wangyu <727842003@qq.com>
Date: Thu, 13 Apr 2023 13:42:04 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E9=89=B4=E6=9D=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../demo/service/other/OtherTestService.java | 4 ++-
.../service/weather/YikeWeatherService.java | 6 ++--
.../demo/service/yapi/YapiAuthProvider.java | 28 +++++++++++++++++++
.../demo/service/yapi/YapiService.java | 14 ++++++++++
src/main/resources/application.yml | 1 +
6 files changed, 50 insertions(+), 5 deletions(-)
create mode 100644 src/main/java/group/flyfish/demo/service/yapi/YapiAuthProvider.java
create mode 100644 src/main/java/group/flyfish/demo/service/yapi/YapiService.java
diff --git a/pom.xml b/pom.xml
index 9cc485d..0f0837e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
group.flyfish
rest-proxy-core
- 1.0.2
+ 1.1.2
org.projectlombok
diff --git a/src/main/java/group/flyfish/demo/service/other/OtherTestService.java b/src/main/java/group/flyfish/demo/service/other/OtherTestService.java
index f082f6a..a0f1451 100644
--- a/src/main/java/group/flyfish/demo/service/other/OtherTestService.java
+++ b/src/main/java/group/flyfish/demo/service/other/OtherTestService.java
@@ -3,6 +3,8 @@ package group.flyfish.demo.service.other;
import group.flyfish.rest.annotation.RestApi;
import group.flyfish.rest.annotation.RestBody;
import group.flyfish.rest.annotation.RestService;
+import group.flyfish.rest.annotation.methods.GET;
+import group.flyfish.rest.annotation.methods.POST;
import org.springframework.web.bind.annotation.PostMapping;
/**
@@ -20,6 +22,6 @@ public interface OtherTestService {
* @param body 请求体
* @return 结果
*/
- @RestApi(uri = "/mcp/pc/pcsearch")
+ @POST("/mcp/pc/pcsearch")
Object postPcSearch(@RestBody Object body);
}
diff --git a/src/main/java/group/flyfish/demo/service/weather/YikeWeatherService.java b/src/main/java/group/flyfish/demo/service/weather/YikeWeatherService.java
index d93c893..e37caa6 100644
--- a/src/main/java/group/flyfish/demo/service/weather/YikeWeatherService.java
+++ b/src/main/java/group/flyfish/demo/service/weather/YikeWeatherService.java
@@ -1,8 +1,8 @@
package group.flyfish.demo.service.weather;
-import group.flyfish.rest.annotation.RestApi;
import group.flyfish.rest.annotation.RestParams;
import group.flyfish.rest.annotation.RestService;
+import group.flyfish.rest.annotation.methods.GET;
import java.util.Map;
@@ -20,7 +20,7 @@ public interface YikeWeatherService {
* @return 结果
* @apiNote 使用@RestParams,框架会自动注入所有键值对作为query
*/
- @RestApi("/day")
+ @GET("/day")
Map getDay(@RestParams Map params);
/**
@@ -29,6 +29,6 @@ public interface YikeWeatherService {
* @return 结果
* @apiNote 框架会自动将参数解包成query
*/
- @RestApi("/day")
+ @GET("/day")
Map getDayStraight(String appid, String appsecret, String city);
}
diff --git a/src/main/java/group/flyfish/demo/service/yapi/YapiAuthProvider.java b/src/main/java/group/flyfish/demo/service/yapi/YapiAuthProvider.java
new file mode 100644
index 0000000..dd77296
--- /dev/null
+++ b/src/main/java/group/flyfish/demo/service/yapi/YapiAuthProvider.java
@@ -0,0 +1,28 @@
+package group.flyfish.demo.service.yapi;
+
+import group.flyfish.rest.core.auth.RestAuthProvider;
+import group.flyfish.rest.core.client.RestClientBuilder;
+
+/**
+ * yapi调用需要的鉴权配置
+ *
+ * @author wangyu
+ */
+public class YapiAuthProvider implements RestAuthProvider {
+
+ // yapi控制token
+ private static final String token = "e5172a42e62e0497b79e3c7df7b4ec1429399558f9d9d28c0152bd39ba4c217a";
+
+ /**
+ * 通过入侵client提供鉴权
+ * yapi是使用query鉴权的,所以增加query即可
+ *
+ * @param builder rest客户端构建器
+ */
+ @Override
+ public void provide(RestClientBuilder builder) {
+ // 支持添加认证头的方式,在此处也可以调用其他rest服务获取接口
+ // builder.addHeader("Authorization", "token")
+ builder.addParam("token", token);
+ }
+}
diff --git a/src/main/java/group/flyfish/demo/service/yapi/YapiService.java b/src/main/java/group/flyfish/demo/service/yapi/YapiService.java
new file mode 100644
index 0000000..55f52f4
--- /dev/null
+++ b/src/main/java/group/flyfish/demo/service/yapi/YapiService.java
@@ -0,0 +1,14 @@
+package group.flyfish.demo.service.yapi;
+
+import group.flyfish.rest.annotation.RestService;
+
+/**
+ * yapi服务,支持鉴权
+ *
+ * @author wangyu
+ */
+@RestService(value = "yapi", authProvider = YapiAuthProvider.class)
+public interface YapiService {
+
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0ecdf55..d1ccbc6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -3,4 +3,5 @@ rest:
always-trust: true
urls:
other: https://ug.baidu.com
+ yapi: http://yapi.flyfish.group/api
connection-timeout: 10s