Knife4j的請求示例當(dāng)中有很多空白行的問題解決辦法
問題描述:
按正常來說不應(yīng)該有上方的空白,當(dāng)然如果只是查看我也不至于非要解決他,主要是假如接口是json傳參,調(diào)試界面都沒辦法修改參數(shù)…網(wǎng)上相關(guān)的資料又非常少,我別的項目引用的同樣的依賴并沒有出現(xiàn)如此情況。
引入的依賴:使用的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() //為當(dāng)前包路徑 .apis(RequestHandlerSelectors.basePackage("com.fiftyonetrust.zyy.stdc.admin.center.controller")).paths(PathSelectors.any()).build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() //頁面標(biāo)題 .title("構(gòu)建RESTful API").description("構(gòu)建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發(fā)現(xiàn)別的項目訪問接口文檔并沒有這些錯誤,而這個項目全是以下錯誤信息:
解決過程:
剛開始我一直以為是Knife4j與security版本之間兼容問題導(dǎo)致的,然后也詢問了Knife4j官方人員,說有史以來沒有出現(xiàn)過類似的情況。針對于這個問題我也是排查了好幾天。
項目當(dāng)中使用了security,排查security的配置。
這里使用到了一個JwtAuthenticationTokenFilter過濾器,過濾器當(dāng)中有一行這個代碼注釋掉之后就可以了。
這里要注意,刪除掉之后一定要清除瀏覽器,不然可能會存在緩存。如下就是恢復(fù)正常了:
在網(wǎng)上查了關(guān)于這個Content-Security-Policy響應(yīng)頭的說明,CSP相當(dāng)于前臺的白名單,用來限制網(wǎng)站內(nèi)部一些資源獲取的來源,如限制CSS、JS、圖片或者第三方鏈接等。
CSP的設(shè)置可以在一定程度上限制XSS攻擊,有2種方式可以設(shè)置。第一種通過設(shè)置HTTP響應(yīng)頭,另一種通過HTML的<meta>
標(biāo)簽。
XSS攻擊通常指的是通過利用網(wǎng)頁開發(fā)時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網(wǎng)頁,使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁程序。這些惡意網(wǎng)頁程序通常是JavaScript,但實際上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻擊成功后,攻擊者可能得到包括但不限于更高的權(quán)限(如執(zhí)行一些操作)、私密網(wǎng)頁內(nèi)容、會話和cookie等各種內(nèi)容。
以上就是Knife4j的請求示例當(dāng)中有很多空白行的問題解決辦法的詳細(xì)內(nèi)容,更多關(guān)于Knife4j請求中有空白行的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring實戰(zhàn)之使用Expression接口進(jìn)行表達(dá)式求值操作示例
這篇文章主要介紹了Spring實戰(zhàn)之使用Expression接口進(jìn)行表達(dá)式求值操作,結(jié)合實例形式分析了Spring操作Expression接口實現(xiàn)表達(dá)式運算的操作技巧與相關(guān)注意事項,需要的朋友可以參考下2019-12-12SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程
這篇文章主要介紹了SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10使用StringRedisTemplate操作Redis方法詳解
這篇文章主要為大家介紹了使用StringRedisTemplate操作Redis方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08springcloud 中 zuul 修改請求參數(shù)信息的方法
這篇文章主要介紹了springcloud 中 zuul 修改請求參數(shù)信息的方法,需要的朋友可以參考下2018-02-02SpringBoot詳細(xì)講解通過自定義classloader加密保護(hù)class文件
這篇文章主要介紹了SpringBoot通過自定義classloader加密class文件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04