@@ -171,7 +171,7 @@ public static ControllerMethod parseMethodComment(MethodDeclaration methodDeclar
171171 requestParam .setType (nativeParameter .getType ().getTypeName ());
172172 // 这里只解析 @param 参数 
173173 // 判断请求参数是否为结构体,如果是 则进行解析 
174-  if  (!nativeParameter .getType ().isPrimitive ()){
174+  if  (!nativeParameter .getType ().isPrimitive ()&&! nativeParameter . getType (). getSimpleName (). equals ( "String" ) ){
175175 List <RequestParam > requestParams1  = parseRequestParam (nativeParameter .getType ());
176176// System.out.println(" requestParams1 is "+requestParams1); 
177177 requestParam .setParams (requestParams1 );
@@ -236,7 +236,7 @@ private static List<RequestParam> parseRequestParam(Class<?> request){
236236 if  (typeDeclaration ==null ){
237237 return  requestParams ;
238238 }
239- // System.out.println(typeDeclaration.getName()); 
239+ // System.out.println(typeDeclaration.getName()+typeDeclaration.getComment().toString() ); 
240240 Arrays .stream (request .getDeclaredFields ()).filter (field  -> !field .isSynthetic ()&&
241241 (field .getModifiers () & Modifier .FINAL ) == 0 
242242 && (field .getModifiers () & Modifier .STATIC )==0 
@@ -246,11 +246,10 @@ private static List<RequestParam> parseRequestParam(Class<?> request){
246246 && (field .getModifiers () & Modifier .TRANSIENT )==0 
247247 ).
248248 forEach (field  -> {
249- 250-  System .out .println (" filed = " +field .getType ());
249+ // System.out.println(" filed = "+field.getType()); 
251250 RequestParam  requestParam  = new  RequestParam ();
252251 requestParam .setType (field .getType ().getTypeName ());
253-  if (field .getType ().isPrimitive ()){
252+  if (field .getType ().isPrimitive ()|| field . getType (). getSimpleName (). equals ( "String" ) ){
254253 typeDeclaration .getFieldByName (field .getName ()).ifPresent (fieldDeclaration  -> {
255254 parseFiledComment (((FieldDeclaration )fieldDeclaration ).getComment ().orElse (null ),requestParam );
256255 if (requestParam .getName ()==null ){
@@ -293,9 +292,10 @@ else if(field.getType().isEnum()){
293292
294293
295294 // todo handle array 
296-  private  static  void  parseFiledComment (Comment  comment ,RequestParam  requestParam ){
297-  if (comment ==null ){return ;}
295+  private  static  RequestParam  parseFiledComment (Comment  comment ,RequestParam  requestParam ){
296+  if (comment ==null ){return requestParam ;}
298297 Javadoc  javadoc  = comment .parse ();
298+ // System.out.println(" javaDoc is "+javadoc); 
299299 javadoc .getBlockTags ().forEach (javadocBlockTag  -> {
300300 // if contains `@ignore` 
301301 if (javadocBlockTag .getType ().equals (JavadocBlockTag .Type .IGNORE )){
@@ -311,11 +311,10 @@ private static void parseFiledComment(Comment comment,RequestParam requestParam)
311311 requestParam .setFuzzy (true );
312312 }
313313
314- 315314 });
316315
317316 requestParam .setDescription (javadoc .getDescription ().toText ());
318- 317+ return requestParam ; 
319318 }
320319
321320
@@ -385,7 +384,7 @@ public static ControllerClass parseClassComment(Comment comment, Class<?> cl){
385384 public  static  void  main (String [] args ) throws  ParserException  {
386385
387386 String  testPath  = "/Volumes/doc/projects/java/java-api-doc/src/main/java/com/hsjfans/github" ;
388-  String  realPath  = "/Volumes/doc/projects/java/api" ;
387+  String  realPath  = "/Volumes/doc/projects/java/java- api-doc/spring-api-demo " ;
389388 Config  config  = new  Config ();
390389 config .setPackageName (realPath );
391390 config .setDocName ("xxx接口文档" );
0 commit comments