gpt4 book ai didi

java - 如何在 SwaggerUI 中显示父项目的端点

转载 作者:行者123 更新时间:2023-12-01 21:54:40 27 4
gpt4 key购买 nike

我有两个项目,一个是类似底盘的项目,有一些依赖项,spring-boot-starter-parent 作为父项目,一个带有 REST 端点的模块,第二个是带有第一个项目作为父项目,其中有运行 Spring Boot 应用程序的 main 方法。我正在使用 Swagger 来记录此端点,但它没有显示父项目中的自定义端点。我只能看到一个端点是 BasicErrorController /error,它也来自父 Spring Boot 项目,我想以相同的方式显示我的端点。

我尝试将ExampleChassis注释为@Controller(与BasicErrorController中的相同),但它不起作用(代码如下)。主类有注释@EnableSwagger2

父项目pom.xml:

<groupId>com.example</groupId>
<artifactId>chassis</artifactId>
<version>1.1-SNAPSHOT</version>
<packaging>pom</packaging>

<properties>
<swagger2.version>2.9.2</swagger2.version>
</properties>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
</parent>

<modules>
<module>rest</module>
</modules>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

休息模块pom.xml:

<parent>
<artifactId>chassis</artifactId>
<groupId>com.example</groupId>
<version>1.1-SNAPSHOT</version>
</parent>

<artifactId>rest</artifactId>
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>
</dependencies>

可运行的SpringBoot项目pom.xml:

<artifactId>micro</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
<groupId>com.example</groupId>
<artifactId>chassis</artifactId>
<version>1.1-SNAPSHOT</version>
</parent>

<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>rest</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>

REST 端点:

@RestController
@RequestMapping("/example")
public class ExampleChassis {

@RequestMapping
public String getXing() {
return "example";
}
}

我希望在 SwaggerUI 和 .json 中看到 /example 端点,但我只能看到 /error 端点。

最佳答案

编写您自己的 swagger 配置并在下面定义一个 bean,无论您将提供什么基础包 swagger 都会根据相同的内容过滤 API。

@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select().apis(RequestHandlerSelectors.basePackage("com.company"))
.paths(PathSelectors.any())
.build();
}
}

关于java - 如何在 SwaggerUI 中显示父项目的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58747807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com