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

Swagger的增强knife4j

效果图

在这里插入图片描述

导入依赖

        <!--不是导入swagger原因就是:knife4j对swagger增强--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>

配置类

package com.itheima.reggie.config;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import com.itheima.reggie.common.JacksonObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.util.List;
@EnableSwagger2
@EnableKnife4j
@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {/*** 设置静态资源* @param registry*/@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("开始执行静态资源映射。。。");//下面这两个是Swagger的映射registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");//**下面这两个我放在resources文件的静态资源,如下图**registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");}/*** 扩展mvc框架的消息转换器* @param converters*/@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.itheima.reggie.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("瑞吉外卖").version("1.0").description("瑞吉外卖接口文档").build();}}

在这里插入图片描述

过滤器放行请求

如果你有配置过滤器,则需要配置放行这四个请求
在这里插入图片描述

				"/doc.html","/webjars/**","/swagger-resources","/v2/api-docs"

常用注解

注解说明
@Api用在请求的类上,例如Controller,表示对类的说明
@ApiModel用在类上,通常是实体类,表示一个返回响应数据的信息
@ApiModelProperty用在属性上,描述响应类的属性
@ApiOperation用在请求的方法上,说明方法的用途、作用
@ApilmplicitParams用在请求的方法上,表示一组参数说明
@ApilmplicitParam用在@ApilmplicitParams注解中,指定一个请求参数的各个方面

使用方式以及效果

第一种

在这里插入图片描述
在这里插入图片描述

第二种

在这里插入图片描述
在这里插入图片描述


http://www.mrgr.cn/news/10482.html

相关文章:

  • 如何在 EcoVadis 平台上注册账号?
  • 如何使用ssm实现基于java的小型超市管理系统+vue
  • [windows][软件]Windows平台MongoDB的安装
  • 电脑日常笔记目录
  • 发现一个通用的滑块验证码缺口识别库 captcha-recognizer (两行代码识别滑块验证码缺口)
  • SQL,解析 json
  • 追问试面试系列:分布式事务
  • 大语言模型之Qwen2技术报告阅读笔记
  • 命令模式与宏命令:批量操作的高效实现
  • 编程中数据字典介绍
  • 【图文并茂】ant design pro 如何实战使用 ProFormTreeSelect
  • AUTOSAR AP硬核知识点梳理
  • 【案例55】WebSphere非root用户启动方案
  • 系统编程-lvgl
  • 笔记 6 : 彭老师课本第 5 章 ,举例分析 IIC 编程,以及开启和配置虚拟机
  • 正则表达式记录
  • 基于Pytorch框架的深度学习DeepLabv3+网络头发语义分割系统源码
  • uniapp微信小程序 分享功能
  • Paxos算法概述:从Basic Paxos到Fast Paxos及在Zookeeper中的应用
  • java修改常量值