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。

相关文章
|
11天前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
该文是一系列关于从零开始手写实现 Apache Tomcat 的教程概述。作者希望通过亲自动手实践理解 Tomcat 的核心机制。文章讨论了 Spring Boot 如何实现直接通过 `main` 方法启动,Spring 与 Tomcat 容器的集成方式,以及两者生命周期的同步原理。文中还提出了实现 Tomcat 的启发,强调在设计启动流程时确保资源的正确加载和初始化。最后提到了一个名为 mini-cat(嗅虎)的简易 Tomcat 实现项目,开源于 [GitHub](https://github.com/houbb/minicat)。
|
1月前
|
消息中间件 Java Kafka
Springboot集成高低版本kafka
Springboot集成高低版本kafka
|
1月前
|
NoSQL Java Redis
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
369 0
|
1月前
|
存储 JSON Java
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
39 2
|
11天前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
本文探讨了Spring Boot如何实现像普通Java程序一样通过main方法启动,关键在于Spring Boot的自动配置、内嵌Servlet容器(如Tomcat)以及`SpringApplication`类。Spring与Tomcat集成有两种方式:独立模式和嵌入式模式,两者通过Servlet规范、Spring MVC协同工作。Spring和Tomcat的生命周期同步涉及启动、运行和关闭阶段,通过事件和监听器实现。文章鼓励读者从实现Tomcat中学习资源管理和生命周期管理。此外,推荐了Netty权威指南系列文章,并提到了一个名为mini-cat的简易Tomcat实现项目。
|
7天前
|
缓存 NoSQL Java
springboot业务开发--springboot集成redis解决缓存雪崩穿透问题
该文介绍了缓存使用中可能出现的三个问题及解决方案:缓存穿透、缓存击穿和缓存雪崩。为防止缓存穿透,可校验请求数据并缓存空值;缓存击穿可采用限流、热点数据预加载或加锁策略;缓存雪崩则需避免同一时间大量缓存失效,可设置随机过期时间。文章还提及了Spring Boot中Redis缓存的配置,包括缓存null值、使用前缀和自定义过期时间,并提供了改造代码以实现缓存到期时间的个性化设置。
|
13天前
|
Java Docker 容器
SpringBoot项目集成XXL-job
SpringBoot项目集成XXL-job
|
15天前
|
Java 关系型数据库 数据库
【SpringBoot系列】微服务集成Flyway
【4月更文挑战第7天】SpringBoot微服务集成Flyway
【SpringBoot系列】微服务集成Flyway
|
18天前
|
XML 存储 Java
SpringBoot集成WebService
SpringBoot集成WebService
31 1
|
20天前
|
前端开发 安全 Java
springboot集成springdoc-openapi(模拟前端请求)
springboot集成springdoc-openapi(模拟前端请求)