engine027 发表于 2021-7-5 11:47:37

代码生成器生成代码后,Swagger文档中没有接口

代码生成器生成代码后,Swagger文档中没有接口是怎么解决

那个蓝色控小姐 发表于 2022-9-6 18:57:38

他们代码生成器这块就没有开源所以后端是没有代码的

Collin 发表于 2023-7-5 20:00:29

要使用自定义包需要做一下配置
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]
查看完整版本: 代码生成器生成代码后,Swagger文档中没有接口