From 1f41a3c3ca8ffebc18f9449da8bf8e27e4718f52 Mon Sep 17 00:00:00 2001 From: liuzhihang Date: Wed, 21 Jul 2021 11:10:02 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=8F=82=E6=95=B0=20String=20=E9=9B=86=E5=90=88=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20-=20=E6=96=B0=E5=A2=9E=20YApi=20=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=90=8E=E9=80=9A=E7=9F=A5=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=B8=BA=E5=8F=AF=E7=82=B9=E5=87=BB=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doc/view/utils/ParamPsiUtils.java | 23 ++++++++++++------- .../messages/DocViewBundle.properties | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/liuzhihang/doc/view/utils/ParamPsiUtils.java b/src/main/java/com/liuzhihang/doc/view/utils/ParamPsiUtils.java index 32aa0e4..b2dbb7c 100644 --- a/src/main/java/com/liuzhihang/doc/view/utils/ParamPsiUtils.java +++ b/src/main/java/com/liuzhihang/doc/view/utils/ParamPsiUtils.java @@ -329,7 +329,6 @@ public static void buildBodyList(@NotNull PsiClass psiClass, PsiType[] o, Body p @NotNull public static String getRespBodyJson(PsiType returnType) { - if (returnType instanceof PsiPrimitiveType || FieldTypeConstant.FIELD_TYPE.containsKey(returnType.getPresentableText())) { return ""; } else if (returnType instanceof PsiClassType) { @@ -338,22 +337,30 @@ public static String getRespBodyJson(PsiType returnType) { PsiClass psiClass = PsiUtil.resolveClassInType(returnType); if (psiClass != null) { - + // 返回类型是集合 if (InheritanceUtil.isInheritor(psiClass, CommonClassNames.JAVA_UTIL_COLLECTION)) { - // 集合类型 - PsiType[] parameters = psiClassType.getParameters(); - if (parameters.length == 0) { + // 获取泛型 + PsiType iterableType = PsiUtil.extractIterableTypeParameter(psiClassType, false); + + if (iterableType == null) { return "[]"; } - PsiType psiType = parameters[0]; - if (psiType instanceof PsiPrimitiveType || FieldTypeConstant.FIELD_TYPE.containsKey(psiType.getPresentableText())) { + if (iterableType instanceof PsiPrimitiveType) { return "[]"; } - PsiClass iterableClass = PsiUtil.resolveClassInClassTypeOnly(psiType); + if (CommonClassNames.JAVA_LANG_STRING_SHORT.equals(iterableType.getPresentableText())) { + return "[\"\"]"; + } + + if (FieldTypeConstant.FIELD_TYPE.containsKey(iterableType.getPresentableText())) { + return "[\"\"]"; + } + + PsiClass iterableClass = PsiUtil.resolveClassInClassTypeOnly(iterableType); Map fieldMap = ParamPsiUtils.getFieldsAndDefaultValue(iterableClass, null); Object[] objectArr = {fieldMap}; diff --git a/src/main/resources/messages/DocViewBundle.properties b/src/main/resources/messages/DocViewBundle.properties index a7d3fc7..8e436a9 100644 --- a/src/main/resources/messages/DocViewBundle.properties +++ b/src/main/resources/messages/DocViewBundle.properties @@ -22,7 +22,7 @@ notify.spring.error.method=\u5F53\u524D\u65B9\u6CD5\u4E0D\u6EE1\u8DB3\u6761\u4EF notify.spring.error.no.method=\u5F53\u524D Controller \u4E2D\u6CA1\u6709\u6EE1\u8DB3\u6761\u4EF6\u7684\u65B9\u6CD5! notify.yapi.info.settings=\u8BF7\u6DFB\u52A0 YApi \u76F8\u5173\u914D\u7F6E notify.yapi.upload.error=\u63A5\u53E3\u4E0A\u4F20 YApi \u5931\u8D25 -notify.yapi.upload.success=\u63A5\u53E3\u4E0A\u4F20 YApi \u6210\u529F, \u63A5\u53E3\u5730\u5740\u4E3A: {0} +notify.yapi.upload.success=\u63A5\u53E3\u4E0A\u4F20 YApi \u6210\u529F, \u63A5\u53E3\u5730\u5740\u4E3A:

{0} notify.not.support.jcef=\u5F53\u524D IDEA \u7248\u672C\u4E0D\u652F\u6301 JCEF, \u65E0\u6CD5\u9884\u89C8. notify.yapi.project.id=\u9879\u76EE id (projectId) \u8BF7\u8F93\u5165\u6570\u5B57 #