栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringDoc --> Swagger的完美替代品 使用详解【可完全匹配新版Springboot】可视化RESTful风格 Web 服务接口api文档

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringDoc --> Swagger的完美替代品 使用详解【可完全匹配新版Springboot】可视化RESTful风格 Web 服务接口api文档

        使用了最新 SpringBoot 版本的朋友们在使用 swagger 时一定都碰到了很多烦恼,各种报错。废话不多说,既然你已经看到了这里就说明你已经查阅了很多资料,对swagger有了一定的了解。话不多说,直接上菜。

| 造成问题的原因

        当然咯,上菜之前咱还是得讲解一下,为何频频出错;原因很简单,随着时间的推移,springboot 一直在更新迭代,而 swagger 已经1年多没有再进行升级(当前时间:北京时间3月6日17:38分),因此版本已经不再兼容;

上菜

我当前所使用的 springboot 及 springcloud 对应的版本

父项目做了版本管理

 

| 需要在项目中添加的springdoc依赖
        
            org.springdoc
            springdoc-openapi-ui
            1.6.6
        
| yml文件配置

#springdoc接口文档指定接口包扫描
springdoc:
 packages-to-scan: com.xxxxxxxx
#或者指定访问接口路径扫描
#  paths-to-match: /api/user
@Configuration
public class SpringDocConfig {

    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(info())

                .components(components())
                .externalDocs(externaldocumentation());
    }

    private License license() {
        return new License()
                .name("MIT")
                .url("https://opensource.org/licenses/MIT");
    }

    private Info info() {
        return new Info()
                .title("Benjamin Yang's Open API")
                .description("Benjamin Yang")
                .version("v0.0.1")
                .license(license());
    }

    private Externaldocumentation externaldocumentation() {
        return new Externaldocumentation()
                .description("Benjamin Yang's Blog")
                .url("https://blog.csdn.net/m0_55710969?spm=1001.2014.3001.5343");
    }

    
    private Components components() {
        return new Components()
                .addSecuritySchemes("bearer-key", new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT"));
    }
    

//    
//    @Operation(security = { @SecurityRequirement(name = "bearer-key") })

}
使用姿势

        很简单,只需要几个注解即可轻松搞定;

| 实体类api文档注解

这里可以看到,使用的还是swagger3包中的内容。

ps:这是码友们对它的社区版升级啦,并非官方,但非常好用哦

实体类的相关注解 :如图所示

更多使用方式就需要点进注解自己参考啦

| Controller控制层 / 接口方法层

        同样,还是导入的swagger3的包,这里仅做几个重要注解参数的使用,更多姿势还请诸位亲自进入接口类解锁;如图所示:

接下来启动项目,访问

127.0.0.1:9090/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/

即可看到如下图所示的操作文档说明啦~

查看方法,也可以像postman一样测试哦

实体类效果如图

关于新版 springboot 整合 springdoc 到这里便宣告结束啦,祝 玩的愉快! 


Thanks 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754046.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号