1.IDEA中整合:
(1)在父工程中创建公共模块common(为了所有的模块都可以用Swagger):
?(2)在common中再创建一个子模块service_base:
(3)在service_base模块的src\main\java目录下创建一个叫配置类SwaggerConfig:
?内容如下:(基本内容固定)
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")//内容自定义
.apiInfo(webApiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("网站-DEAR模块API文档")//内容自定义
.description("本文档描述了DEAR模块微服务接口定义")//内容自定义
.version("1.0")
.contact(new Contact("lixioahan", "http://baidu.com",
"80848107@qq.com"))//内容自定义
.build();
}
}
(4)在需要使用到Swagger的模块的pom.xml中引入service_base依赖:
<dependency>
<!--此处路径更具自己的项目确定-->
<groupId>com.lixiaohan</groupId>
<version>0.0.1-SNAPSHOT</version>
<artifactId>service_base</artifactId>
</dependency>
(5)在需要使用的模块的启动类上加上@ComponentScan注解并设置扫描规则
@ComponentScan(basePackages = {"com.dodear"})//大括号里面的扫描规则根据自己项目确定
2.测试,展示效果:
(1)直接在Controller中进行测试:(其中使用到了MybatisPlus,只看效果)
@RestController
@RequestMapping("/userservice/tab-user")
@Api(description = "用户模块")//Swagger相关注解
public class TabUserController {
@Autowired
private TabUserService tabUserService;
@GetMapping("FindByUserId/{uid}")
@ApiOperation(value = "根据用户id查唯一用户")//Swagger相关注解
public Result findAll(
@ApiParam(name = "uid" , value = "用户的id",required = true)//Swagger相关注解
@PathVariable Integer uid) throws IOException {
List<TabUser> userlist = tabUserService.list(null);
return Result.ok().data("userlist",userlist);
}
}
即可看见如下界面,如过能看见自己写的接口表示Swagger整合成功
?
?整合成功!
|