From 1d18e1b7d3dcfd4767333d5f0e79998a1fd0f2eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=A6=82?= <8775@163.com> Date: Tue, 22 Jul 2025 19:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BD=93objClass=E8=A2=AB?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=90=8E=EF=BC=8C=E8=8E=B7=E5=8F=96=E4=B8=8D?= =?UTF-8?q?=E5=88=B0interface=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 1 + .../com/gitee/sop/support/register/ApiRegister.java | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index d29718aa..6a09d005 100755 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,7 @@ ## 日常更新 +- 2025-07-22: 修复当objClass被代理后,获取不到interface BUG - 2025-06-15:新增帮助文档管理。有升级SQL,见:[sop-20250615.sql](./upgrade/sop-20250615.sql) - 2025-06-11:java-sdk添加文件下载示例 - 2025-06-01:OpenContext添加charset字段 diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java index f48cbeaf..8d2e1b3d 100755 --- a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java @@ -99,7 +99,15 @@ public class ApiRegister { }*/ Set cache = new HashSet<>(); - Class[] interfaces = objClass.getInterfaces(); + Set> interfaceSet = new HashSet<>(); + Class current = objClass; + while (current != null) { + for (Class iface : current.getInterfaces()) { + interfaceSet.add(iface); + } + current = current.getSuperclass(); + } + Class[] interfaces = interfaceSet.toArray(new Class[0]); for (Class interfaceClass : interfaces) { for (Method method : interfaceClass.getMethods()) { Open open = method.getAnnotation(Open.class);