spring-boot-starter-swagger icon indicating copy to clipboard operation
spring-boot-starter-swagger copied to clipboard

global-operation-parameters在不配置的情况下会出现空指针异常

Open eureka-lyq opened this issue 4 years ago • 6 comments

如题,在DocketConfiguration中创建createSpringFoxRestApi的时候,如果没有设置global-operation-parameters,下面的代码会报空指针 private List<RequestParameter> getRequestParameters(List<SwaggerProperties.GlobalOperationParameter> properties) { return properties.stream() .map(param -> new RequestParameterBuilder().name(param.getName()).description(param.getDescription()) .in(ParameterType.from(param.getParameterType())).required(param.getRequired()) .query(q -> q.defaultValue(param.getType())) .query(q -> q.model(m -> m.scalarModel(!ScalarType.from(param.getType(), param.getFormat()).isPresent() ? ScalarType.STRING : ScalarType.from(param.getType(), param.getFormat()).get()))) .build()) .collect(Collectors.toList()); }

eureka-lyq avatar Nov 29 '21 04:11 eureka-lyq

这个问题有什么方法规避掉吗?

Yonsion avatar Dec 20 '21 09:12 Yonsion

配置一个空的swagger.globalOperationParameters[0]或者构建Docket的时候调用.globalOperationParameters(Collections.EMPTY_LIST)试试

LSL1618 avatar Dec 23 '21 09:12 LSL1618

这个问题有什么方法规避掉吗?

在yml下可以设置个空的,如下: swagger: global-operation-parameters: - name: description:

但是还是建议官方修复

eureka-lyq avatar Dec 23 '21 10:12 eureka-lyq

目前这个bug还在 建议修复下

silent-night-no-trace avatar Feb 02 '23 09:02 silent-night-no-trace

配置一个空的swagger.globalOperationParameters[0]或者构建Docket的时候调用.globalOperationParameters(Collections.EMPTY_LIST)试试

空的swagger.globalOperationParameters[0]该怎么配置,key和value在application文件中都需要填写,不然会报错

zijikanwa avatar Feb 13 '23 08:02 zijikanwa

配置一个空的swagger.globalOperationParameters[0]或者构建Docket的时候调用.globalOperationParameters(Collections.EMPTY_LIST)试试

空的swagger.globalOperationParameters[0]该怎么配置,key和value在application文件中都需要填写,不然会报错

# 设置全局请求参数。
swagger.globalOperationParameters[0].name=argument
swagger.globalOperationParameters[0].description=参数
swagger.globalOperationParameters[0].type=string
swagger.globalOperationParameters[0].parameterType=form
swagger.globalOperationParameters[0].required=false
# 是否使用默认预定义的响应消息,并使用自定义响应消息
swagger.applyDefaultResponseMessages=true
swagger.globalResponseMessage.get[0].code=404
swagger.globalResponseMessage.get[0].description=请求未找到
swagger.globalResponseMessage.get[0].modelRef=ERROR

LSL1618 avatar May 19 '23 01:05 LSL1618