0
点赞
收藏
分享

微信扫一扫

项目搭建与创作者接口-集成SWagger2

在工程当中创建一个公共模块 common 模块,并且修改打包方式为 ​​pom​

项目搭建与创作者接口-集成SWagger2_javascript

项目搭建与创作者接口-集成SWagger2_spring_02

<packaging>pom</packaging>

添加 swagger 依赖

项目搭建与创作者接口-集成SWagger2_spring_03

<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​​ 模块

项目搭建与创作者接口-集成SWagger2_javascript_04

在模块 common_base 中,创建 swagger 的配置类

项目搭建与创作者接口-集成SWagger2_spring_05

/**
* @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.***.com/BNTang", "303158131@qq.com"))
.build();
}
}

在模块 service 模块中引入 common_base

项目搭建与创作者接口-集成SWagger2_spring_06

<!--common_base-->
<dependency>
<groupId>top.it6666</groupId>
<artifactId>common_base</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

在 service_video 启动类上添加注解

项目搭建与创作者接口-集成SWagger2_spring_07

@ComponentScan(basePackages = {"top.it6666"})

然后在 Controller 当中添加 api 注解

项目搭建与创作者接口-集成SWagger2_ide_08

/**
* <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);
}
}

详细说明请参考:

重启工程访问:​​http://localhost:8001/swagger-ui.html​​

项目搭建与创作者接口-集成SWagger2_javascript_09

swagger2 汉化

汉化 2.7 以下的版本,首先在自己项目当中的 ​​resources​​​ 中创建 ​​META-INF\resourece​​ 文件夹如下图

项目搭建与创作者接口-集成SWagger2_javascript_10

需要注意有一个 ​​/​​​ 不是以 ​​.​​ 来进行创建

把 ​​swagger-ui.html​​​ 复制到自己工程的 ​​META-INF\resourece​​​ 中, 添加两行 ​​js​​ js内容如下

项目搭建与创作者接口-集成SWagger2_ide_11

项目搭建与创作者接口-集成SWagger2_ide_12

<!-- 加入国际化的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>




举报

相关推荐

0 条评论