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