前言
在工程当中创建一个公共模块 common 模块,并且修改打包方式为 pom
<packaging>pom</packaging>
添加 swagger 依赖
代码语言:html复制<dependencies>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<scope>provided</scope>
</dependency>
<!--lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
common 模块下的 src
删除不需要,在 common 下面创建子模块 common_base
模块
在模块 common_base 中,创建 swagger 的配置类
代码语言:java复制/**
* @author BNTang
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket webApiConfig() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
// 排除指定的路径,不生成api
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
private ApiInfo webApiInfo() {
return new ApiInfoBuilder()
.title("视频中心API文档")
.description("课程中心微服务接口")
.version("1.0")
.contact(new Contact("BNTang", "https://www.cnblogs.com/BNTang", "303158131@qq.com"))
.build();
}
}
在模块 service 模块中引入 common_base
代码语言:html复制<!--common_base-->
<dependency>
<groupId>top.it6666</groupId>
<artifactId>common_base</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
在 service_video 启动类上添加注解
代码语言:java复制@ComponentScan(basePackages = {"top.it6666"})
然后在 Controller 当中添加 api 注解
代码语言:java复制/**
* <p>
* 创作者 前端控制器
* Api 注解代表:分组
* </p>
*
* @author BNTang
* @since 2021-03-27
*/
@RestController
@RequestMapping("/service_video/author")
@Api(tags = "作者组")
public class AuthorController {
/**
* 使用代码生成器生成的 service 当中已经有很多的基础服务,直接调用即可
*/
private final AuthorService authorService;
public AuthorController(AuthorService authorService) {
this.authorService = authorService;
}
/**
* <p>
* 获取创作者列表
* </p>
*/
@ApiOperation(value = "所有的作者列表")
@GetMapping("/getAuthorList")
public List<Author> getAuthorList() {
return authorService.list(null);
}
/**
* <p>
* 根据Id删除创作者
* </p>
*/
@ApiOperation(value = "逻辑删除作者")
@DeleteMapping("/deleteAuthor/{id}")
public boolean deleteAuthor(@ApiParam(name = "id", value = "作者Id", required = true) @PathVariable String id) {
return authorService.removeById(id);
}
}
详细说明请参考:https://www.cnblogs.com/zhuhui-site/p/10092322.html
重启工程访问:http://localhost:8001/swagger-ui.html
swagger2 汉化
汉化 2.7 以下的版本,首先在自己项目当中的 resources
中创建 META-INFresourece
文件夹如下图
需要注意有一个 /
不是以 .
来进行创建
把 swagger-ui.html
复制到自己工程的 META-INFresourece
中, 添加两行 js
js内容如下
<!-- 加入国际化的js -->
<script src="webjars/springfox-swagger-ui/lang/translator.js" type="text/javascript"></script>
<script src="webjars/springfox-swagger-ui/lang/zh-cn.js" type="text/javascript"></script>
最后
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!