Skip to content
This repository was archived by the owner on Dec 4, 2025. It is now read-only.

Commit 0e2b75a

Browse files
committed
build: 🔧 enforce strict Javadoc validation and add parameter for Swagger support
- Add support for Swagger in OpenAPI builder - Refactor parameter handling for better readability and maintainability - Improve error handling in value conversion - Update Maven configuration for stricter Javadoc checks
1 parent 0b6344a commit 0e2b75a

File tree

2 files changed

+49
-36
lines changed

2 files changed

+49
-36
lines changed

pom.xml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,22 @@
125125
</executions>
126126
</plugin>
127127
<!-- JavaDoc -->
128-
<plugin>
129-
<groupId>org.apache.maven.plugins</groupId>
130-
<artifactId>maven-javadoc-plugin</artifactId>
131-
<version>${maven-javadoc-plugin.version}</version>
132-
<configuration>
133-
<!--
134-
Fail the build if any Javadoc warnings or errors occur.
135-
This ensures that all Javadoc issues are treated seriously.
136-
-->
137-
<failOnError>true</failOnError>
128+
<plugin>
129+
<groupId>org.apache.maven.plugins</groupId>
130+
<artifactId>maven-javadoc-plugin</artifactId>
131+
<version>${maven-javadoc-plugin.version}</version>
132+
<configuration>
133+
<!--
134+
Fail the build immediately if any Javadoc error is encountered.
135+
Ensures critical issues like syntax errors or broken HTML are not ignored.
136+
-->
137+
<failOnError>true</failOnError>
138+
<!--
139+
Fail the build if any Javadoc warning occurs (e.g., missing @param, @return).
140+
Combined with -Xdoclint:all, this enforces strict documentation discipline.
141+
Note: Requires maven-javadoc-plugin version 3.0.0 or higher.
142+
-->
143+
<failOnWarnings>true</failOnWarnings>
138144
<additionalOptions>
139145
<!--
140146
Enable strict validation of Javadoc content.

src/main/java/com/ly/doc/builder/openapi/AbstractOpenApiBuilder.java

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ abstract Map<String, Object> buildPathUrlsRequest(ApiConfig apiConfig, ApiMethod
166166
* @param apiConfig Configuration of smart-doc
167167
* @param apiSchema Project API schema
168168
* @param tags tags
169+
* @param isSwagger is swagger
169170
* @return Map of paths
170171
*/
171172
@SuppressWarnings("unchecked")
@@ -490,7 +491,8 @@ public Map<String, Object> buildProperties(List<ApiParam> apiParam, Map<String,
490491
if (param.isRequired()) {
491492
requiredList.add(param.getField());
492493
}
493-
if (param.getType().equals("map") && StringUtil.isEmpty(param.getClassName())) {
494+
if (ParamTypeConstants.PARAM_TYPE_MAP.equals(param.getType())
495+
&& StringUtil.isEmpty(param.getClassName())) {
494496
continue;
495497
}
496498
if (param.isQueryParam() || param.isPathParam()) {
@@ -665,37 +667,42 @@ protected Object getExampleValueBasedOnTypeForApiReqParam(ApiReqParam apiReqPara
665667
return getValueByType(apiReqParam.getValue(), apiReqParam.getType());
666668
}
667669

670+
/**
671+
* Get value by type
672+
* @param originalValue original value
673+
* @param type type
674+
* @return value
675+
*/
668676
private Object getValueByType(String originalValue, String type) {
669677
if (StringUtil.isEmpty(originalValue) || StringUtil.isEmpty(type)) {
670678
return originalValue;
671679
}
672680
try {
673681
String openApiType = DocUtil.javaTypeToOpenApiTypeConvert(type);
674-
if ("boolean".equals(openApiType)) {
675-
return Boolean.parseBoolean(originalValue);
676-
}
677-
else if ("integer".equals(openApiType)) {
678-
return Integer.parseInt(originalValue);
679-
}
680-
else if ("number".equals(openApiType)) {
681-
String javaTypeName = type.toLowerCase();
682-
switch (javaTypeName) {
683-
case "long":
684-
case "java.lang.long":
685-
case "int64":
686-
return Long.parseLong(originalValue);
687-
case "double":
688-
case "java.lang.double":
689-
return Double.parseDouble(originalValue);
690-
case "float":
691-
case "java.lang.float":
692-
return Float.parseFloat(originalValue);
693-
case "java.math.biginteger":
694-
return new BigInteger(originalValue);
695-
case "java.math.bigdecimal":
696-
return new BigDecimal(originalValue);
697-
}
698-
return originalValue;
682+
switch (openApiType) {
683+
case "boolean":
684+
return Boolean.parseBoolean(originalValue);
685+
case "integer":
686+
return Integer.parseInt(originalValue);
687+
case "number":
688+
String javaTypeName = type.toLowerCase();
689+
switch (javaTypeName) {
690+
case "long":
691+
case "java.lang.long":
692+
case "int64":
693+
return Long.parseLong(originalValue);
694+
case "double":
695+
case "java.lang.double":
696+
return Double.parseDouble(originalValue);
697+
case "float":
698+
case "java.lang.float":
699+
return Float.parseFloat(originalValue);
700+
case "java.math.biginteger":
701+
return new BigInteger(originalValue);
702+
case "java.math.bigdecimal":
703+
return new BigDecimal(originalValue);
704+
}
705+
return originalValue;
699706
}
700707
return originalValue;
701708
}

0 commit comments

Comments
 (0)