fix(接口测试): 修复swagger导入失败的缺陷
--bug=1026085 --user=王孝刚 [接口测试]github#24323接口导入-导入 Swagger 文件报“格式错误” https://www.tapd.cn/55049933/s/1375755
This commit is contained in:
parent
9c755fe8b0
commit
0d57785de6
|
@ -24,6 +24,7 @@ import io.swagger.models.auth.AuthorizationValue;
|
||||||
import io.swagger.models.parameters.*;
|
import io.swagger.models.parameters.*;
|
||||||
import io.swagger.models.properties.*;
|
import io.swagger.models.properties.*;
|
||||||
import io.swagger.parser.SwaggerParser;
|
import io.swagger.parser.SwaggerParser;
|
||||||
|
import lombok.val;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -226,28 +227,30 @@ public class Swagger2Parser extends SwaggerAbstractParser {
|
||||||
// todo 路径变量 {xxx} 是否要转换
|
// todo 路径变量 {xxx} 是否要转换
|
||||||
|
|
||||||
for (Parameter parameter : parameters) {
|
for (Parameter parameter : parameters) {
|
||||||
switch (parameter.getIn()) {
|
if (StringUtils.isNotBlank(parameter.getIn())) {
|
||||||
case SwaggerParameterType.PATH:
|
switch (parameter.getIn()) {
|
||||||
parsePathParameters(parameter, request.getRest());
|
case SwaggerParameterType.PATH:
|
||||||
break;
|
parsePathParameters(parameter, request.getRest());
|
||||||
case SwaggerParameterType.QUERY:
|
break;
|
||||||
parseQueryParameters(parameter, request.getArguments());
|
case SwaggerParameterType.QUERY:
|
||||||
break;
|
parseQueryParameters(parameter, request.getArguments());
|
||||||
case SwaggerParameterType.FORM_DATA:
|
break;
|
||||||
parseFormDataParameters((FormParameter) parameter, request.getBody());
|
case SwaggerParameterType.FORM_DATA:
|
||||||
break;
|
parseFormDataParameters((FormParameter) parameter, request.getBody());
|
||||||
case SwaggerParameterType.BODY:
|
break;
|
||||||
parseRequestBodyParameters(parameter, request.getBody());
|
case SwaggerParameterType.BODY:
|
||||||
break;
|
parseRequestBodyParameters(parameter, request.getBody());
|
||||||
case SwaggerParameterType.HEADER:
|
break;
|
||||||
parseHeaderParameters(parameter, request.getHeaders());
|
case SwaggerParameterType.HEADER:
|
||||||
break;
|
parseHeaderParameters(parameter, request.getHeaders());
|
||||||
case SwaggerParameterType.COOKIE:
|
break;
|
||||||
parseCookieParameters(parameter, request.getHeaders());
|
case SwaggerParameterType.COOKIE:
|
||||||
break;
|
parseCookieParameters(parameter, request.getHeaders());
|
||||||
|
break;
|
||||||
// case SwaggerParameterType.FILE:
|
// case SwaggerParameterType.FILE:
|
||||||
// parsePathParameters(parameter, request);
|
// parsePathParameters(parameter, request);
|
||||||
// break;
|
// break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ import io.swagger.v3.parser.core.models.AuthorizationValue;
|
||||||
import io.swagger.v3.parser.core.models.SwaggerParseResult;
|
import io.swagger.v3.parser.core.models.SwaggerParseResult;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
|
|
||||||
|
@ -626,16 +627,18 @@ public class Swagger3Parser extends SwaggerAbstractParser {
|
||||||
Schema schema = getSchema(parameter.getSchema());
|
Schema schema = getSchema(parameter.getSchema());
|
||||||
Set<String> refSet = new HashSet<>();
|
Set<String> refSet = new HashSet<>();
|
||||||
JsonSchemaItem jsonSchemaItem = parseSchema(schema, refSet);
|
JsonSchemaItem jsonSchemaItem = parseSchema(schema, refSet);
|
||||||
if (MapUtils.isEmpty(jsonSchemaItem.getProperties())) {
|
if (ObjectUtils.isNotEmpty(jsonSchemaItem)){
|
||||||
arguments.add(new KeyValue(queryParameter.getName(), getDefaultValue(queryParameter, jsonSchemaItem), getDefaultStringValue(queryParameter.getDescription()), parameter.getRequired(), getMin(jsonSchemaItem), getMax(jsonSchemaItem)));
|
if (MapUtils.isEmpty(jsonSchemaItem.getProperties())) {
|
||||||
} else {
|
arguments.add(new KeyValue(queryParameter.getName(), getDefaultValue(queryParameter, jsonSchemaItem), getDefaultStringValue(queryParameter.getDescription()), parameter.getRequired(), getMin(jsonSchemaItem), getMax(jsonSchemaItem)));
|
||||||
Map<String, JsonSchemaItem> properties = jsonSchemaItem.getProperties();
|
} else {
|
||||||
properties.forEach((key, value) -> {
|
Map<String, JsonSchemaItem> properties = jsonSchemaItem.getProperties();
|
||||||
arguments.add(new KeyValue(key, getDefaultValue(queryParameter, value),
|
properties.forEach((key, value) -> {
|
||||||
getDefaultStringValue(value.getDescription()),
|
arguments.add(new KeyValue(key, getDefaultValue(queryParameter, value),
|
||||||
parameter.getRequired(),
|
getDefaultStringValue(value.getDescription()),
|
||||||
getMin(value), getMax(value)));
|
parameter.getRequired(),
|
||||||
});
|
getMin(value), getMax(value)));
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue