使用 swagger ,当控制层是Get请求的时候,DApiUI.js 会报 Cannot read property ‘join‘ undefined

x33g5p2x  于11个月前 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(48)

前言

系统是微服务,已经使用了knife4j对微服务的集成,但是有个比较蛋疼的就是,在开发的时候,不能只针对某个开发的微服务,进行接口的展示以及调试,这样会增加开发成本。所以就做了点骚操作,在单独的项目中使用swagger。

这里附上官网链接:
https://doc.xiaominfo.com/

正文

出现BUG

在maven中添加依赖:

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>com.drore.cloud</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.4</version>
        </dependency>

增加配置类

@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
			.apiInfo(apiInfo())
			.select()
			.apis(RequestHandlerSelectors.basePackage("org.springblade.mktcenter"))//扫描路径
			.paths(PathSelectors.any())
			.build();
	}

	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
			.title("swagger-bootstrap-ui RESTful APIs")
			.description("swagger-bootstrap-ui")
			.termsOfServiceUrl("http://localhost:9103/")
			.contact("developer@mail.com")
			.version("1.0")
			.build();
	}
}

但是在 Controller 中,对于 @Get 请求 会有如下错误
在这里插入图片描述

原因是 @Get 请求,这个会为空

在这里插入图片描述

解决方法

找到 maven 仓库中的 jar 包文件进行编辑:

在这里插入图片描述

在这里插入图片描述

建议使用记事本进行编辑,博主使用了idea编辑不生效:

搜索 apiInfo.consumes 找到如下代码,在外面加上 if 判断就行

在这里插入图片描述

然后刷新页面,或者清空缓存刷新页面就成。

相关文章