gpt4 book ai didi

java - Swagger 未检测到使用 Spring Data Rest 构建的 Api

转载 作者:行者123 更新时间:2023-12-01 13:10:52 24 4
gpt4 key购买 nike

我正在使用 swagger 为我的 API 生成文档的 Spring Boot 应用程序,我正在使用 Spring data rest 生成 Api,但是当我运行该应用程序时,我收到了 swagger 消息:规范中没有定义任何操作!

这是我的 Api 代码:

@Api(tags = "projets")
@RepositoryRestResource(collectionResourceRel = "projets", path = "projets")
public interface IProjectRepository extends JpaRepository<Project, Long> {

}

这是我的配置文件:
@Configuration
@EnableSwagger2
public class QfactoryConfiguration {

@Bean
public Docket getDocketInstance() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.title("Spring Boot project")
.description("Spring Boot bootstrap project")
.version("0.1")
.license("Unlicense")
.build())
.select()
.apis(RequestHandlerSelectors.basePackage("com.errabi.qfactory.repositories"))
.paths(PathSelectors.any())
.build();
}




}

这是我正在使用的依赖项:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>

我问的是 Swagger 是否能够为 Spring data rest 生成的 Api 生成文档,或者我应该使用带有注释 @Api,@ApiOperation 的 @RestController

我使用的是 Spring Boot 版本:2.1.3.RELEASE

最佳答案

这对我有用,升级到 springfox 的最新快照

<dependencies>
...
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
...
</dependencies>

<repositories>
<repository>
<id>JFrog</id>
<name>JFrog Snapshot Repository</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
</repository>
</repositories>

然后使用 @EnableSwagger2WebMvc而不是 @EnableSwagger2 :
@SpringBootApplication
@EnableSwagger2WebMvc
@Import(SpringDataRestConfiguration.class)
public class MyApplication {

public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}

}

感谢 Yann39 .

关于java - Swagger 未检测到使用 Spring Data Rest 构建的 Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54846358/

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