前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【VIDEO_Parent】-项目搭建与创作者接口-集成SWagger2

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

原创
作者头像
BNTang
发布2023-11-29 22:03:55
1630
发布2023-11-29 22:03:55
举报

前言

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

代码语言:html
复制
<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-INF\resourece 文件夹如下图

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

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

代码语言:javascript
复制
<!-- 加入国际化的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腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • swagger2 汉化
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档