当前位置: 代码网 > it编程>编程语言>Javascript > Knife4j的请求示例当中有很多空白行的问题解决办法

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

2024年09月06日 Javascript 我要评论
问题描述:按正常来说不应该有上方的空白,当然如果只是查看我也不至于非要解决他,主要是假如接口是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请求中有空白行的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com