栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

新SpringBoot项目swagger启动

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

新SpringBoot项目swagger启动

文章目录
  • 参考
  • maven的部分内容
    • 不同package引用
    • pom写法
    • 某个class文件属于哪个包
  • SpringBoot工程启动
    • 启动类文件
    • webConfig配置
    • swagger配置
    • 各种配置文件拷贝入resources文件中
  • Spring配置

参考

新代码仓发布、新jar包发布以及一些maven的基础内容

maven的部分内容 不同package引用

每个package都有一个pom,不同的包之间通过pom引用

pom写法

各种包引入,参见参考文章
其中几个比较重要的引入说明

根pom

	2.9.2
	
 	
      
        io.springfox
        springfox-swagger2
        ${swagger-version}
      

      
        io.springfox
        springfox-swagger-ui
        ${swagger-version}
      

web pom:


    
    
      io.springfox
      springfox-swagger2
    

    
      io.springfox
      springfox-swagger-ui
    



    ${project.artifactId}-${project.version}

    
    
      
        src/main/java
        
          ***.xml
        
        false
      
      
        src/main/resources/base
      
      
        src/main/resources/${conf-dir}
      
    

    
    
      
        src/main/resources/base
      
      
        src/main/resources/${conf-dir}
      
    

    
    	
        com.github.kongchen
        swagger-maven-plugin
        3.1.6
        
          
            
              
              true
              
              com.bytedance.cg.lark.crm.web.controller
              
              http,https
              
              localhost:8030
              
              /
              
              
                接口文档
                v1
                API
              
              
              
              ${basedir}/interface
            
          
        
        
        
          
            compile
            
              generate
            
          
        
      
    
  

其中关于资源文件部分的一个坑:
配置文件找不到的问题:https://blog.csdn.net/lovequanquqn/article/details/85017533

某个class文件属于哪个包


IDE定位就可以看到上层的包结构

SpringBoot工程启动 启动类文件
@Slf4j
@EnableSwagger2
@EnableCaching
@EnableAsync
@RegisterHttpService
@EnableThriftClients({
    @ThriftClient(psm = "", basePackage =
        "" ),
})
@SpringBootApplication(scanbasePackages = {"com.a.b"})
public class WebApplication {
    public static void main(String[] args) {
        System.setProperty("spring.devtools.restart.enabled", "false");
        TimeZone.setDefault(TimeZone.getTimeZone("GMT+0"));
        SpringApplication.run(WebApplication.class, args);
    }
}
webConfig配置
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {


    private static final String[] NO_LOGIN_WHITELIST = {
            // exclude swagger
            "/swagger*
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LogIDInjectHandlerInterceptor()).excludePathPatterns(NO_LOGIN_WHITELIST);
    }
}
swagger配置
@Configuration
@EnableSwagger2
public class SwaggerConf implements InitializingBean {

    @Value("${swagger.enable}")
    private boolean enableSwagger;

    @Autowired
    ConfigurableBeanFactory beanFactory;

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("XXX系统")
                .description("")
                .termsOfServiceUrl("")
                .version("1.0")
                .build();
    }


    private List commonParameters() {
        List parameters = Lists.newArrayList();

        parameters.add(new ParameterBuilder()
                .name(ContextConstant.LOGIN_EMPLOYEE_ID.replace("_", "-"))
                .description("用户ID")
                .modelRef(new ModelRef("long"))
                .parameterType("header")
                .required(true)
                .defaultValue("XXXXXX")
                .build());

        parameters.add(new ParameterBuilder()
                .name(ContextConstant.TIME_ZONE.replace("_", "-"))
                .description("时区信息")
                .modelRef(new ModelRef("string"))
                .parameterType("header")
                .scalarExample("GMT+8:00")
                .required(false)


        return parameters;
    }

    @Override
    public void afterPropertiesSet() {
        String basePackageName = base_PACKAGE_FORMAT;
        Docket docketInstance = new Docket(documentationType.SWAGGER_2)
                .enable(enableSwagger)
                .apiInfo(apiInfo())
                .groupName("")
                .select()
                .apis(RequestHandlerSelectors.basePackage(basePackageName))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(commonParameters());
        beanFactory.registerSingleton("project." + DOCKET_BEAN_SUFFIX, docketInstance);
    }
}
各种配置文件拷贝入resources文件中

Spring配置

debug的配置

IDE services:https://blog.csdn.net/Andy5789/article/details/106781950

完成如上内容,就可以开始debug并查看swagger页面了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351006.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号