系统是微服务,已经使用了knife4j对微服务的集成,但是有个比较蛋疼的就是,在开发的时候,不能只针对某个开发的微服务,进行接口的展示以及调试,这样会增加开发成本。所以就做了点骚操作,在单独的项目中使用swagger。
这里附上官网链接:
https://doc.xiaominfo.com/
在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 判断就行
然后刷新页面,或者清空缓存刷新页面就成。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_29064815/article/details/108380449
内容来源于网络,如有侵权,请联系作者删除!