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

相关文章

RabbitMQ使用及与spring boot整合

1.MQ   消息队列(Message Queue,简称MQ)——应用程序和应用程序之间的通信方法   应用:不同进程Process/线程Thread之间通信   比较流行的中间件:     ActiveMQ     RabbitMQ(非常重量级,更适合于企业级的开发)     Kafka(高吞吐量的分布式发布订阅消息系统)     RocketMQ   在高并发、可靠性、成熟度等

springboot整合swagger2之最佳实践

来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 SpringBoot集成 pom <!--swagge

springboot 整合swagger

没有多余废话,就是干 spring-boot 2.7.8 springfox-boot-starter 3.0.0 结构 POM.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/

uniapp,vite整合windicss

官方文档:https://weapp-tw.icebreaker.top/docs/quick-start/frameworks/hbuilderx 安装: npm i -D tailwindcss postcss autoprefixer# 初始化 tailwind.config.js 文件npx tailwindcss initnpm i -D weapp-tailwindcss# 假

Spring Cloud整合Seata实现分布式事务

文章目录 1.Seata1.1 官网1.2 下载1.3 通过安装包运行seata1.3.1 解压seata-server-1.3.0.zip1.3.2 修改 conf/file.conf 配置文件1.3.3 修改conf/registry.conf配置文件1.3.4 添加seata配置信息到nacos1.3.5 配置seata服务端数据库表结构1.3.6 启动seata 2.Spring

在项目SSH整合时,启动测试时报的警告!

一、tomcat 运行过程中提示: 22:11:07,082 [main] WARN  DTDEntityResolver : recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer

spring boot实战(番外篇)整合RabbitMQ

前言 最近几篇文章将围绕消息中间件RabbitMQ展开,对于RabbitMQ基本概念这里不阐述,主要讲解RabbitMQ的基本用法、Java客户端API介绍、spring Boot与RabbitMQ整合、 Spring Boot与RabbitMQ整合源码分析。   RabbitMQ安装   在使用消息中间件RabbitMQ之前就是安装RabbitMQ。   安装erlang:yum i

Spring之——整合Redis序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer

当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer。 Spring Data JPA为我们提供了下面的Serializ

Struts2和Spring整合中出现的问题

今天做了一个Struts2和Spring整合的练习,中间出了一点问题,贴出来供其它人参考。(该文章写于2010年) 代码写好后启动Tomcat服务器时报错: 严重: Exception starting filter struts2java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeExceptio

Spring整合FreeMarker本地化动态设置

Spring整合FreeMarker进行国际化的过程很简单,将spring-webmvc里的org/springframework/web/servlet/view/freemarker下的spring.ftl include到各个要国际化的ftl文件里就行了,比如将这个spring.ftl复制在ftl文件目录的common下,可以这样直接在ftl里include进来 <#import "