springboot集成swagger3

简介: pom直接引用springfox-boot-starter,swagger3不需要引用ui包。

pom直接引用springfox-boot-starter,swagger3不需要引用ui包。

<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>

开始相关配置,创建config配置类。

importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importspringfox.documentation.builders.ApiInfoBuilder;
importspringfox.documentation.builders.PathSelectors;
importspringfox.documentation.builders.RequestHandlerSelectors;
importspringfox.documentation.oas.annotations.EnableOpenApi;
importspringfox.documentation.service.ApiInfo;
importspringfox.documentation.spi.DocumentationType;
importspringfox.documentation.spring.web.plugins.Docket;
/*** @author lhq*/@EnableOpenApi@ConfigurationpublicclassSwaggerConfig {
@BeanpublicDocketcreateRestApi() {
returnnewDocket(DocumentationType.OAS_30)
                .apiInfo(buildApiInfo())
                .enable(true)
                .select()
// 要扫描的API(Controller)基础包                .apis(RequestHandlerSelectors.basePackage("com.hsrc.fjyc.intelligentassistant.controller"))
                .paths(PathSelectors.any())
                .build();
    }
privateApiInfobuildApiInfo() {
returnnewApiInfoBuilder()
                .title("stoneAPI文档")
                .description("平台管理服务api")
                .version("1.0.0")
                .build();
    }
}

注意:new Docket(DocumentationType.OAS_30)这里不再使DocumentationType.SWAGGER_2,从swagger2切换过来的一定小心,不然可能无法识别相关请求,加载一个空页面。

注解使用:@Tag代替@Api,其中name的值一定是类名小写,类名中间存在大写的用横线间隔开,大写变小写。

/*** 会话相关* @author lhq*/@Tag(description="会话相关",name="chatbot-controller")
@RestControllerpublicclassChatbotController {
privateLoggerlogger=LogManager.getLogger(ChatbotController.class);
@ResourceAlibabaUtillalibabaUtill;
@ResourceJwtUtiljwtUtil;
@Operation(summary="获取热点(大家都在看)")
@ApiResponses({
@ApiResponse(responseCode="200",description="成功",ref="成功"),
@ApiResponse(responseCode="400",description="失败",ref="失败")
    })
@PostMapping("/hotKnowledge")
publicStringhotKnowledge(@Parameter(name="token",description="调用请求的令牌;",required=true) @RequestParam(value="token")Stringtoken,
@Parameter(name="limit",description="总条数",required=true) @RequestParam(value="limit") Stringlimit){

这时候直接访问时注意,要带完整的路径/swagger-ui/index.html。否则可能找不到,想要可以直接输入/swagger-ui就可以访问,需要配置拦截,对/swagger-ui路径,直接跳转到/swagger-ui/index.html。

相关文章
|
9月前
|
安全 Java Apache
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 身份和权限认证
本文介绍了 Apache Shiro 的身份认证与权限认证机制。在身份认证部分,分析了 Shiro 的认证流程,包括应用程序调用 `Subject.login(token)` 方法、SecurityManager 接管认证以及通过 Realm 进行具体的安全验证。权限认证部分阐述了权限(permission)、角色(role)和用户(user)三者的关系,其中用户可拥有多个角色,角色则对应不同的权限组合,例如普通用户仅能查看或添加信息,而管理员可执行所有操作。
498 0
|
9月前
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
362 0
|
6月前
|
前端开发
SpringBoot2.3.1集成Knife4j接口文档
SpringBoot2.3.1集成Knife4j接口文档
619 44
|
5月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
306 3
|
5月前
|
缓存 JSON 前端开发
第07课:Spring Boot集成Thymeleaf模板引擎
第07课:Spring Boot集成Thymeleaf模板引擎
576 0
第07课:Spring Boot集成Thymeleaf模板引擎
|
5月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
627 2
|
5月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
336 2
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
113 0
|
5月前
|
存储 人工智能 Java
Springboot集成AI Springboot3 集成阿里云百炼大模型CosyVoice2 实现Ai克隆语音(未持久化存储)
本项目基于Spring Boot 3.5.3与Java 17,集成阿里云百炼大模型CosyVoice2实现音色克隆与语音合成。内容涵盖项目搭建、音色创建、音频合成、音色管理等功能,适用于希望快速掌握Spring Boot集成语音AI技术的开发者。需提前注册阿里云并获取API Key。