Jeecg Boot Swagger分组设置及无效情况(SpringBoot自动配置原理)

本文使用的是JeecgBoot v2.2.0

正确的例子

Swagger2Config.java中配置

	/**
	 * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
	 *
	 * @return Docket
	 */
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo()).groupName("system模块")
				.select()
				//此包路径下的类,才生成接口文档
				.apis(RequestHandlerSelectors.basePackage("org.jeecg.modules"))
				//加了ApiOperation注解的类,才生成接口文档
	            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
				.paths(PathSelectors.any())
				.build()
				.securitySchemes(Collections.singletonList(securityScheme()));
				//.globalOperationParameters(setHeaderToken());
	}

	/**
	 * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
	 *
	 * @return Docket
	 */
	@Bean
	public Docket orchardApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo()).groupName("xxx模块")
				.select()
				//此包路径下的类,才生成接口文档
				.apis(RequestHandlerSelectors.basePackage("org.jeecg.xxx"))
				//加了ApiOperation注解的类,才生成接口文档
				.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
				.paths(PathSelectors.any())
				.build()
				.securitySchemes(Collections.singletonList(securityScheme()));
		//.globalOperationParameters(setHeaderToken());
	}

这样配置是OK的

无效的情况

我一开始是这么配置的
想法是把公司业务单独写在com.aonuo包内,并单独生成Swagger的一个分组文档

	/**
	 * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
	 *
	 * @return Docket
	 */
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo()).groupName("system模块")
				.select()
				//此包路径下的类,才生成接口文档
				.apis(RequestHandlerSelectors.basePackage("org.jeecg.modules"))
				//加了ApiOperation注解的类,才生成接口文档
	            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
				.paths(PathSelectors.any())
				.build()
				.securitySchemes(Collections.singletonList(securityScheme()));
				//.globalOperationParameters(setHeaderToken());
	}

	/**
	 * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
	 *
	 * @return Docket
	 */
	@Bean
	public Docket orchardApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo()).groupName("aonuo模块")
				.select()
				//此包路径下的类,才生成接口文档
				.apis(RequestHandlerSelectors.basePackage("com.aonuo"))
				//加了ApiOperation注解的类,才生成接口文档
				.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
				.paths(PathSelectors.any())
				.build()
				.securitySchemes(Collections.singletonList(securityScheme()));
		//.globalOperationParameters(setHeaderToken());
	}

这种情况并不会扫描到com.aonuo下的接口。

经过了百般尝试,最后突然想起来SpringBoot的自动配置原理SpringBoot自动配置扫描包,扫描的路径是主配置类所在包下的

而JeecgBoot这个项目,主配置类所在包是org.jeecg,所以只有org.jeecg下的文件才会被扫描到Spring容器

我配的com.aonuoorg.jeecg是同层级,当然就不会被扫描到。

知识还是要融会贯通啊!


😁欢迎加入QQ群交流: [游戏-Web-开发技术栈 ☄️] '300567032’
点击下方图标一键加入!
游戏-Web-开发技术栈 ☄


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值