@@ -80,6 +80,8 @@ public void from(ApiTree apiTree, Config config) {
80
80
controllerClass -> {
81
81
controllerList .append (String .format ("\n <li style=\" padding:5px\" > <a href=\" %s\" >%s</a> <span> %s </span> </li>"
82
82
,"./" +controllerClass .getName ()+".html" ,controllerClass .getName (),controllerClass .getDescription ()));
83
+
84
+ // 开始构建的 controller 文件
83
85
buildControllerDoc (controllerClass );
84
86
}
85
87
);
@@ -93,43 +95,58 @@ public void from(ApiTree apiTree, Config config) {
93
95
}
94
96
95
97
98
+ /**
99
+ * 构建 controllerClass 文件
100
+ * @param controllerClass controller
101
+ */
96
102
@ Override
97
103
protected void buildControllerDoc (ControllerClass controllerClass ) {
98
104
105
+ System .out .println (controllerClass );
99
106
StringBuilder controllerHtml = new StringBuilder ();
100
107
String controller = FileUtil .from (BASE_TPL_PATH +controllerTpl );
101
- // controller = controller.replace("${api-url-description}",controllerClass.getName());
102
108
controller = controller .replace ("${controller-name}" ,controllerClass .getName ());
103
109
controller = controller .replace ("${count}" ,String .valueOf (controllerClass .getControllerMethod ().size ()));
104
110
controller = controller .replace ("${controller-description}" ,controllerClass .getDescription ());
105
111
controller = controller .replace ("${author}" ,controllerClass .getAuthor ());
106
112
controller = controller .replace ("${baseUrl}" , StringUtil .join (controllerClass .getUrl (),"," ));
107
113
controllerClass .getControllerMethod ().forEach (controllerMethod -> {
108
-
109
- // System.out.println( controllerMethod );
110
-
114
+ // 填充 列表
111
115
controllerHtml .append (String .format ("\n <li style=\" padding:5px\" > <a href=\" %s\" >%s</a> <span> %s </span> </li>"
112
116
,"./" +controllerClass .getName ()+"_" +controllerMethod .getName ()+".html" ,controllerMethod .getName (),controllerMethod .getName ()));
117
+
118
+ // 构建 api 详情
113
119
buildApiDoc (controllerClass ,controllerMethod );
114
120
});
121
+
115
122
controller = controller .replace ("${controller-methods}" ,controllerHtml .toString ());
123
+
124
+ // 生成文件
116
125
FileUtil .to (this .config .getOutPath ()+controllerClass .getName ()+".html" ,controller );
117
126
}
118
127
128
+
129
+ /**
130
+ * 构建详细的 api 文件
131
+ * @param controllerClass
132
+ * @param controllerMethod
133
+ */
119
134
@ Override
120
135
protected void buildApiDoc (ControllerClass controllerClass , ControllerMethod controllerMethod ) {
121
136
137
+ System .out .println (controllerClass );
138
+
122
139
String method = FileUtil .from (BASE_TPL_PATH +urlTpl );
123
140
method = method .replace ("${title}" ,controllerMethod .getName ());
124
141
method = method .replace ("${api-url-name}" ,controllerMethod .getName ());
125
142
method = method .replace ("${prev-name}" ,controllerClass .getName ());
126
143
method = method .replace ("${prev-url}" ,controllerClass .getName ()+".html" );
127
144
if (controllerClass .getUrl ().length ==0 ){
128
145
controllerClass .setUrl (new String []{"" });
129
- }
130
- if (controllerMethod .getUrl ().length ==0 ){
146
+ } else if (controllerMethod .getUrl ().length ==0 ){
131
147
controllerMethod .setUrl (new String []{"" });
132
148
}
149
+
133
150
String [] urls = new String [controllerClass .getUrl ().length *controllerMethod .getUrl ().length ];
134
151
int i =0 ;
135
152
for (String baseUrl :controllerClass .getUrl ()){
@@ -141,47 +158,59 @@ protected void buildApiDoc(ControllerClass controllerClass, ControllerMethod con
141
158
method = method .replace ("${api-url-description}" ,controllerMethod .getDescription ());
142
159
method = method .replace ("${methods}" , CollectionUtil .requestMethodsToString (controllerMethod .getMethods ()));
143
160
method = method .replace ("${author}" ,controllerMethod .getAuthor ());
144
- method = method .replace ("${requestParams}" , generateRequestParams (controllerMethod .getParams ()));
161
+ method = method .replace ("${requestParams}" , generateRequestParams (controllerMethod .getRequestParameters ()));
145
162
method = method .replace ("${responses}" , generateResponseReturn (controllerMethod .getResponseReturn ()));
146
163
147
164
148
165
FileUtil .to (this .config .getOutPath ()+controllerClass .getName ()+"_" +controllerMethod .getName ()+".html" ,method );
149
166
}
150
167
151
168
152
- private String generateRequestParams (List <ClassField > requestParams ){
169
+ /**
170
+ * 构建请请求参数 页面
171
+ * @param requestParams requestParams
172
+ * @return
173
+ */
174
+ private String generateRequestParams (List <RequestParameter > requestParams ){
153
175
StringBuilder params = new StringBuilder ();
154
176
requestParams .forEach (requestParam ->{
155
- if (requestParam .getFields ()!=null &&requestParam .getFields ().size ()>0 ){
177
+ System .out .println (" requestParam= " +requestParam );
178
+ if (requestParam .getFields ()==null ||requestParam .getFields ()!=null &&requestParam .getEnumValues ()!=null ){
179
+ params .append (String .format (Request_Params_Table_No_head ,requestParam .getName (),requestParam .getTypeName (),
180
+ StringUtil .enumToStrs (requestParam .getEnumValues ()),!requestParam .isNullable (),requestParam .isFuzzy (),
181
+ requestParam .getDescription ()));
182
+ }else {
156
183
params .append (String .format (Request_Params_Table_No_head ,
157
184
requestParam .getName (),
158
- Request_Params_Table_head .replace ("${requestParams}" ,generateRequestParams (requestParam .getFields ())),
185
+ Request_Params_Table_head .replace ("${requestParams}" ,generateClassFields (requestParam .getFields (), false )),
159
186
StringUtil .enumToStrs (requestParam .getEnumValues ()),!requestParam .isNullable (),requestParam .isFuzzy (),
160
187
requestParam .getDescription ()
161
- ));
162
- }else {
163
- params .append (String .format (Request_Params_Table_No_head ,requestParam .getName (),requestParam .getType (),
164
- StringUtil .enumToStrs (requestParam .getEnumValues ()),!requestParam .isNullable (),requestParam .isFuzzy (),
165
- requestParam .getDescription ()));
188
+ ));
166
189
}
190
+
167
191
});
168
192
169
193
return params .toString ();
170
194
171
195
}
172
196
197
+
198
+ /**
199
+ * 构建返回值 页面
200
+ * @param responseReturn
201
+ * @return
202
+ */
173
203
private String generateResponseReturn (ResponseReturn responseReturn ){
174
204
175
205
StringBuilder responses = new StringBuilder ();
176
206
177
207
if (responseReturn .getReturnItem ()!=null &&responseReturn .getReturnItem ().size ()>0 ){
178
208
responses .append (String .format (Response_Return_Table_No_Head ,
179
209
responseReturn .getName (),
180
- Response_Return_Table_Head .replace ("${responses}" ,generateResponseItems (responseReturn .getReturnItem ())),
210
+ Response_Return_Table_Head .replace ("${responses}" ,generateClassFields (responseReturn .getReturnItem (), true )),
181
211
StringUtil .enumToStrs (responseReturn .getEnumValues ()),
182
212
responseReturn .getDescription ()
183
213
));
184
- // responses.append(Response_Return_Table_Head.replace("${responses}",generateResponseItems(responseReturn.getReturnItem())));
185
214
}else {
186
215
responses .append (String .format (Response_Return_Table_No_Head ,
187
216
responseReturn .getName (),
@@ -192,27 +221,62 @@ private String generateResponseReturn(ResponseReturn responseReturn){
192
221
return responses .toString ();
193
222
}
194
223
195
- private String generateResponseItems (List <ClassField > requestParams ){
196
- StringBuilder responses = new StringBuilder ();
197
- requestParams .forEach (requestParam -> {
198
- if (requestParam .getFields ()!=null &&requestParam .getFields ().size ()>0 ){
199
- responses .append (String .format (Response_Return_Table_No_Head ,
200
- requestParam .getName (),
201
- Response_Return_Table_Head .replace ("${responses}" ,generateResponseItems (requestParam .getFields ())),
202
- StringUtil .enumToStrs (requestParam .getEnumValues ()),
203
- requestParam .getDescription ()
204
- ));
224
+
225
+ /**
226
+ * 构建 classFields 文件
227
+ * @param classFields classFileds
228
+ * @return
229
+ */
230
+ private String generateClassFields (List <ClassField > classFields ,boolean response ){
231
+
232
+ StringBuilder params = new StringBuilder ();
233
+ classFields .forEach (classField ->{
234
+ if (classField .getFields ()==null ||classField .getFields ()!=null &&classField .getEnumValues ()!=null ){
235
+ if (response ){
236
+ params .append (String .format (Response_Return_Table_No_Head ,
237
+ classField .getName (),
238
+ classField .getType (),
239
+ StringUtil .enumToStrs (classField .getEnumValues ()),
240
+ classField .getDescription ()));
241
+ }else {
242
+ params .append (String .format (Request_Params_Table_No_head ,
243
+ classField .getName (),
244
+ classField .getType (),
245
+ StringUtil .enumToStrs (classField .getEnumValues ()),
246
+ !classField .isNullable (),classField .isFuzzy (),
247
+ classField .getDescription ()));
248
+ }
249
+
205
250
}else {
206
- responses .append (String .format (Response_Return_Table_No_Head ,
207
- requestParam .getName (),
208
- requestParam .getType (),
209
- StringUtil .enumToStrs (requestParam .getEnumValues ()),
210
- requestParam .getDescription ()));
251
+ if (response ){
252
+ params .append (String .format (Response_Return_Table_No_Head ,
253
+ classField .getName (),
254
+ Response_Return_Table_Head .replace ("${responses}" ,generateClassFields (classField .getFields (),true )),
255
+ StringUtil .enumToStrs (classField .getEnumValues ()),
256
+ classField .getDescription ()
257
+ ));
258
+ }else {
259
+ params .append (String .format (Request_Params_Table_No_head ,
260
+ classField .getName (),
261
+ Request_Params_Table_head .replace ("${requestParams}" ,generateClassFields (classField .getFields (),false )),
262
+ StringUtil .enumToStrs (classField .getEnumValues ()),!classField .isNullable (),classField .isFuzzy (),
263
+ classField .getDescription ()
264
+ ));
265
+ }
211
266
}
267
+
212
268
});
213
- return responses .toString ();
269
+
270
+ return params .toString ();
271
+
214
272
}
215
273
274
+
275
+
276
+
277
+
278
+
279
+
216
280
@ Override
217
281
protected void buildExtraDoc () {
218
282
String extra = FileUtil .from (BASE_TPL_PATH +extraTpl );
0 commit comments