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

相关文章

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

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

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Ollama整合open-webui的步骤及访问

《Ollama整合open-webui的步骤及访问》:本文主要介绍如何通过源码方式安装OpenWebUI,并详细说明了安装步骤、环境要求以及第一次使用时的账号注册和模型选择过程,需要的朋友可以参考... 目录安装环境要求步骤访问选择PjrIUE模型开始对话总结 安装官方安装地址:https://docs.

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

springboot整合gateway的详细过程

《springboot整合gateway的详细过程》本文介绍了如何配置和使用SpringCloudGateway构建一个API网关,通过实例代码介绍了springboot整合gateway的过程,需要... 目录1. 添加依赖2. 配置网关路由3. 启用Eureka客户端(可选)4. 创建主应用类5. 自定