首页 > 其他分享 >springboot集成swagger的坑

springboot集成swagger的坑

时间:2023-01-30 17:22:14浏览次数:44  
标签:集成 springboot springframework registry org import swagger config

1、端口问题

无法访问此网站

网址为 http://localhost:6666/swagger-ui.html 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。

ERR_UNSAFE_PORT   如图:

 

 

这是一个很 nt 的东西,你的端口不要搞什么6666,8888之类的,拿8080就好,5678之类的也行,不然浏览器是打不开的  

二、swaggerUI 拦截器和跨域冲突处理

如果我们的项目中有关于跨域的处理,同时还有拦截器,然后还要使用swagger,这种情况大家要注意了,有可能我们的拦截器会将swagger中的页面路径拦截掉导致swagger页面出不来,当我们在拦截器中把swagger的页面排除掉的时候,也有可能会导致跨域配置的失效。

拦截器:

package com.example.commonoperation.common.config;

import com.example.commonoperation.common.intercepter.TokenInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @description: webMvc配置类
 * @author: luguilin
 * @date: 2022-11-04 10:39
 **/

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //拦截
        registry.addInterceptor(new TokenInterceptor())
                // 对所有请求进行拦截
                .addPathPatterns("/**")
                // 排除 login请求
                .excludePathPatterns("/login")
                .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**")
        ;
    }

    /**
     * juejue swagger-ui 404
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

跨域配置:

package com.example.commonoperation.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

/**
 * @description: CorsConfig
 * @author: luguilin
 * @date: 2023-01-30 17:08
 **/
@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedOrigin("*");
        config.setAllowCredentials(true);
        config.addAllowedMethod("*");
        config.addAllowedHeader("*");
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);
        return new CorsFilter(configSource);
    }
}

 

三、包问题

 

 注意是"." 不是"/"

标签:集成,springboot,springframework,registry,org,import,swagger,config
From: https://www.cnblogs.com/r1-12king/p/17076717.html

相关文章

  • springboot~openfeign开启熔断之后MDC为null的解决
    上一篇说了关于MDC跨线程为null的理解,而本讲主要说一下,如何去解决它,事实上,Hystrix为我们留了这个口,我们只需要继承HystrixConcurrencyStrategy,然后重写wrapCallable方法,再......
  • 四化智造MES(WEB)与金蝶云星空对接集成工件分配查询(委外明细)打通采购申请单新增
    四化智造MES(WEB)与金蝶云星空对接集成工件分配查询(委外明细)打通采购申请单新增数据源系统:四化智造MES(WEB)MES建立统一平台上通过物料防错防错、流程防错、生产统计、异......
  • CI/CD | 大型企业与开发团队如何进行持续集成与持续发布
    Jenkins是当今最流行的持续集成工具之一,企业选择Jenkins,可以从它的灵活性和自动化能力中获益。但除此之外的其他需求呢?企业规模在不断增大,他们如何在不增加管理负担的情况......
  • Swagger测试Restful API
    swagger出现背景我们构建RestfulAPI的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端,不同端由......
  • SpringBoot单元测试:@SpringBootTest
    接上一篇:SpringBoot整合SSM添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId......
  • SpringBoot配置文件详解
    简介SpringBoot全局配置文件默认为src/main/resources下的application.properties,后缀可以改为yml,如果application.yml和application.properties两个配置文件都存在,那么,prop......
  • 【自动化持续集成必备基础】pipeline常用功能
     简介pipeline是一套运行在jenkins上的工作流框架,可以实现复杂流程的编排和可视化运行pipeline支持两种语法:DeclarativePipeline(声明式流水线)和ScriptedPipeline(脚本式......
  • caddyserver step-ca 集成
    最近在学习caddy2的一些新特性,以前大致看过step-ca这个强大的证书管理工具,所以集成caddy+step-ca的acme进行测试下因为acme需要对于dns进行校验,但是因为自己是本地......
  • go_view同后端集成时的注意事项
    goview是一个不错的可视化大屏配置工具;提供了丰富的功能可供调用。官方地址和文档:https://gitee.com/dromara/go-viewhttps://www.mtruning.club/guide/start/ 同后......
  • 国家知识产权局专利和集成电路布图设计业务办理统一身份认证平台
    最后花了好久的时间才发现,原来这个专利检索是需要先注册“国家知识产权局专利和集成电路布图设计业务办理统一身份认证平台”的,该平台的地址:​​专利和集成电路布图设计业务......