- 参考
- maven的部分内容
- 不同package引用
- pom写法
- 某个class文件属于哪个包
- SpringBoot工程启动
- 启动类文件
- webConfig配置
- swagger配置
- 各种配置文件拷贝入resources文件中
- Spring配置
新代码仓发布、新jar包发布以及一些maven的基础内容
maven的部分内容 不同package引用每个package都有一个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
IDE定位就可以看到上层的包结构
@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页面了。



