代码生成器生成代码后,Swagger文档中没有接口
代码生成器生成代码后,Swagger文档中没有接口是怎么解决他们代码生成器这块就没有开源所以后端是没有代码的 要使用自定义包需要做一下配置
1. 在主模块启动类上面加上两个注解,
@SpringBootApplication(scanBasePackages = {"org.jeecg","com.guanyu"})和
@MapperScan({"com.guanyu"}),这个必须要,在程序配置文件中配置是无效的
2. 如果想swagger显示自定义包中的controller的信息,需要修改jeecg-boot-base-core项目中位于org.jeecg/config下面的Swagger2Config中的配置,并修改部分代码。
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//此包路径下的类,才生成接口文档
// .apis(RequestHandlerSelectors.basePackage("org.jeecg"))
.apis(getPackages())
//加了ApiOperation注解的类,才生成接口文档
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build()
.securitySchemes(Collections.singletonList(securityScheme()))
.securityContexts(securityContexts())
.globalOperationParameters(setHeaderToken());
}
@SuppressWarnings("all")
private Predicate<RequestHandler> getPackages(){
String[] packages = {"org.jeecg","com.guanyu"};
return v -> declaring(v).transform(handlerPackage(packages)).or(true);
}
@SuppressWarnings("all")
private Optional<? extends Class<?>> declaring(RequestHandler handler) {
return Optional.fromNullable(handler.declaringClass().getDeclaringClass());
}
@SuppressWarnings("all")
private Function<Class<?>, Boolean> handlerPackage(String[] packages) {
return v -> {
for (String p : packages) {
if (v.getPackage().getName().startsWith(p))
return true;
}
return false;
};
}
运行以上需要google guava的支持,请在项目文件中添加这个依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
页:
[1]