当前位置: 首页 > news >正文

Swagger

目录

简介

使用方式:

常用注解


简介

使用Swagger你只需要按照他的规范去定义接口及接口相关信息再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。
官网:https://swagger.io/

knife4j是JavaMVC框架集成Swagger生成Api文档的增强解决方案。

使用方式:

1.导入knife4j的maven坐标(版本如果冲突的话自己用maven helper来exclude一下)

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version>
</dependency>

2.导入knife4j相关配置类(地址一定要写对!!!,挺多坑的)

@Slf4j
@Configuration
@EnableSwagger2
@EnableKnife4j
public class WebMvcConfig extends WebMvcConfigurationSupport {//设置静态资源映射@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("开始进行静态资源映射...");registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}//扩展mvc框架的消息转换器@Overrideprotected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {log.info("扩展消息转换器...");//创建消息转换器对象MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();//设置对象转换器,底层使用Jackson将Java对象转为jsonmessageConverter.setObjectMapper(new JacksonObjectMapper());//将上面的消息转换器对象追加到mvc框架的转换器集合中converters.add(0,messageConverter);}//设置扫描包@Beanpublic Docket createRestApi(){//文档类型return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.flyingpig.controller")).paths(PathSelectors.any()).build();}//文档相关信息private ApiInfo apiInfo(){return new ApiInfoBuilder().title("uu考勤").version("1.0").description("uu考勤接口文档").build();}
}

3.如果有filter,则需要设置不需要处理的请求路径,因为这时程序自动生成文档的静态界面,所以我们要让这些静态资源通行。

常用注解

http://www.lryc.cn/news/128114.html

相关文章:

  • Android 13像Settings一样获取热点和网络共享
  • 操作系统搭建相关知识
  • 【校招VIP】前端校招考点之vue底层特性
  • vue3+vite配置vantUI主题
  • C++基础语法——继承
  • vim配置之spf13-vim
  • Azure如何启用网络观察应用程序
  • 分步注册方式 编写驱动
  • repmgr出现双主,并且时间线分叉,删除了最新的时间线节点
  • ThinkPHP中实现IP地址定位
  • 使用Python批量将Word文件转为PDF文件
  • XDR解决方案成为了新的安全趋势
  • 001-Nacos 服务注册
  • 71 # 协商缓存的配置:通过内容
  • 【服务器】Strace显示后台进程输出
  • centos如何安装libssl-dev libsdl-dev libavcodec-dev libavutil-dev ffmpeg
  • 2022年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 详谈MongoDB的那些事
  • 企业电子招投标采购系统源码之电子招投标的组成 tbms
  • Android 13 添加自定义分区,恢复出厂设置不被清除
  • 改进YOLO系列:1.添加SE注意力机制
  • RP2040开发板自制树莓派逻辑分析仪
  • git clone -b与git pull origin <branch_name>的区别
  • 中期国际:MT4数据挖掘与分析方法:以数据为导向,制定有效的交易策略
  • Linux命令(70)之bzip2
  • ubuntu下gif动态图片的制作
  • 56.linux 进程管理命令和用户管理命令
  • Mac os 上的apt-get install 就是brew install
  • vue watch监听对象 新旧值一样
  • 学习Vue:测试与调试