Knife4j的请求示例当中有很多空白行的问题解决办法

 更新时间:2024年09月06日 11:41:15   作者:怪 咖@  
这篇文章主要介绍了Knife4j的请求示例当中有很多空白行的问题解决办法,按正常来说不应该有上方的空白,当然如果只是查看我也不至于非要解决他,主要是假如接口是json传参,调试界面都没办法修改参数,遇到同样问题的同学可以参考阅读本文

问题描述:

按正常来说不应该有上方的空白,当然如果只是查看我也不至于非要解决他,主要是假如接口是json传参,调试界面都没办法修改参数…网上相关的资料又非常少,我别的项目引用的同样的依赖并没有出现如此情况。

引入的依赖:使用的springboot版本是2.3.12.RELEASE,使用的knife4j是2.0.9版本!

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.9</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.10.5</version>
    <exclusions>
        <exclusion>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-models</artifactId>
    <version>1.5.22</version>
</dependency>

Swagger2Config 配置类

@Configuration
@EnableSwagger2WebMvc
public class Swagger2Config {
    @Value("${swagger.enable}")
    private boolean enable;

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).enable(enable).apiInfo(apiInfo()).select()
                //为当前包路径
                .apis(RequestHandlerSelectors.basePackage("com.fiftyonetrust.zyy.stdc.admin.center.controller")).paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //页面标题
                .title("构建RESTful API").description("构建RESTful API")
                //版本号
                .version("1.0")
                //描述
                .description("API 描述").build();
    }
}

该配置主要解决doc.html 404无法访问的问题。

@Configuration
public class MyConfig extends WebMvcConfigurationSupport {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

查看F12发现别的项目访问接口文档并没有这些错误,而这个项目全是以下错误信息:

解决过程:

刚开始我一直以为是Knife4j与security版本之间兼容问题导致的,然后也询问了Knife4j官方人员,说有史以来没有出现过类似的情况。针对于这个问题我也是排查了好几天。

项目当中使用了security,排查security的配置。

这里使用到了一个JwtAuthenticationTokenFilter过滤器,过滤器当中有一行这个代码注释掉之后就可以了。

这里要注意,删除掉之后一定要清除浏览器,不然可能会存在缓存。如下就是恢复正常了:

在网上查了关于这个Content-Security-Policy响应头的说明,CSP相当于前台的白名单,用来限制网站内部一些资源获取的来源,如限制CSS、JS、图片或者第三方链接等。

CSP的设置可以在一定程度上限制XSS攻击,有2种方式可以设置。第一种通过设置HTTP响应头,另一种通过HTML的<meta>标签。

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

以上就是Knife4j的请求示例当中有很多空白行的问题解决办法的详细内容,更多关于Knife4j请求中有空白行的资料请关注脚本之家其它相关文章!

相关文章

  • Spring Boot整合持久层之JdbcTemplate多数据源

    Spring Boot整合持久层之JdbcTemplate多数据源

    持久层是JavaEE中访问数据库的核心操作,SpringBoot中对常见的持久层框架都提供了自动化配置,例如JdbcTemplate、JPA 等,MyBatis 的自动化配置则是MyBatis官方提供的。接下来分别向读者介绍Spring Boot整合这持久层技术中的整合JdbcTemplate
    2022-08-08
  • 浅析Java进制转换、输入、命名问题

    浅析Java进制转换、输入、命名问题

    这篇文章主要介绍了Java进制转换、输入、命名问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • spring boot 自定义规则访问获取内部或者外部静态资源图片的方法

    spring boot 自定义规则访问获取内部或者外部静态资源图片的方法

    这篇文章主要介绍了spring boot 自定义规则访问获取内部或者外部静态资源图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • java微信开发API第一步 服务器接入

    java微信开发API第一步 服务器接入

    这篇文章主要为大家分享了java微信开发API的第一步操作服务器接入,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Graceful Response 构建 Spring Boot 响应处理的方法

    Graceful Response 构建 Spring Boot 响应

    Graceful Response是一个Spring Boot技术栈下的优雅响应处理器,提供一站式统一返回值封装、全局异常处理、自定义异常错误码等功能,本文介绍Graceful Response 构建 Spring Boot 下优雅的响应处理,感兴趣的朋友一起看看吧
    2024-01-01
  • 修改Springboot默认序列化工具Jackson配置的实例代码

    修改Springboot默认序列化工具Jackson配置的实例代码

    这篇文章主要介绍了如何修改Springboot默认序列化工具Jackson的配置,当Spring容器中存在多个同类型的Bean时,默认情况下最后一个创建的Bean将作为首选Bean,文中通过代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • springboot的controller层的常用注解说明

    springboot的controller层的常用注解说明

    这篇文章主要介绍了springboot的controller层的常用注解说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 基于Bigdecimal科学计数问题

    基于Bigdecimal科学计数问题

    这篇文章主要介绍了基于Bigdecimal科学计数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • JsonObject的属性与值的判空(Null值)处理方式

    JsonObject的属性与值的判空(Null值)处理方式

    这篇文章主要介绍了JsonObject的属性与值的判空(Null值)处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 关于SpringSecurity的基本使用示例

    关于SpringSecurity的基本使用示例

    这篇文章主要介绍了关于SpringSecurity的基本使用示例,SpringSecurity 本质是一个过滤器链SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链,需要的朋友可以参考下
    2023-05-05

最新评论