sprongboot整合swagger

2024-05-10 02:38
文章标签 整合 swagger sprongboot

本文主要是介绍sprongboot整合swagger,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

springboot整合swagger步骤如下

#引入基础jar包<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.8.0</version></dependency>

添加swagger配置文件,并在项目中启用swagger

//java项目 www.fhadmin.org
@Configuration
@EnableSwagger2
@Profile("dev")
public class Swagger2Config {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build().enable(!Util.runEvn.equals(AppServer.Type.prod.name()));}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("xxxxx项目 RESTful APIs").description("xxxxx项目后台api接口文档").version("1.0").build();}
}

配置js,css等前端文件路径问题,如果项目中使用权限拦截,一并对swagger放行

//java项目 www.fhadmin.org
@Configuration
public class AppMvcConfigurer extends WebMvcConfigurerAdapter {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/js/**").addResourceLocations("classpath:/js/");registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}// 增加拦截器@Overridepublic void addInterceptors(InterceptorRegistry registry) {super.addInterceptors(registry);registry.addInterceptor(new RequestHandlerInterceptor()).addPathPatterns("/**");registry.addInterceptor(tokenAndPermissionAndDrInterceptor).addPathPatterns("/**/*").excludePathPatterns("/swagger-ui.html", "/swagger-resources/**", "/v2/**", "/error/**" //);添加swagger exclude;registry.addInterceptor(headerInterceptor).addPathPatterns("/**");}
}

注意在controller类中添加swagger相关注解,如果扫描不到一样无法正常使用的。例如

//java项目 www.fhadmin.org
​​​​​​​@Api(value = "TestController", description = "用户登录登出接口")
@RestController
@Slf4j
@RequestMapping(value = "/api/test")
public class TestController {@Resourceprivate UserLoginService userLoginService;@ApiOperation(value="用户登录", notes="用户登录接口")@ApiImplicitParams({@ApiImplicitParam(name = "email", value = "邮箱", required = true ,dataType = "string"),@ApiImplicitParam(name = "password", value = "密码", required = true ,dataType = "string")})@RequestMapping (value = "/login",method = RequestMethod.GET)@ResponseBodypublic JsonData userLogin(@RequestParam String email,@RequestParam String password){UserParam user = new UserParam();user.setEmail(email);user.setPassword(password);log.info("login parameter:{}", JsonUtil.toJson(user));JsonData jsonData = null;try {BeanValidatorUtil.validateParam(user);jsonData =  userLoginService.login(user);} catch (ParamException e) {return JsonData.error(e.getMessage());} catch (Exception e) {log.error("login failure,error:", e);return JsonData.error("登录异常,请联系管理员查看。");}log.info("login ret:{}", JsonUtil.toJson(jsonData));return jsonData;}

这篇关于sprongboot整合swagger的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975199

相关文章

SpringBoot整合OpenFeign的完整指南

《SpringBoot整合OpenFeign的完整指南》OpenFeign是由Netflix开发的一个声明式Web服务客户端,它使得编写HTTP客户端变得更加简单,本文为大家介绍了SpringBoot... 目录什么是OpenFeign环境准备创建 Spring Boot 项目添加依赖启用 OpenFeig

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标