3

我已经使用 MongoDB 启动了一个新的 Spring Boot 应用程序(2.2.1.RELEASE)。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>

为了创建一些 API 文档,我添加了 springdoc-api:

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-ui</artifactId>
  <version>1.1.49</version>
</dependency>

由于我依赖 Spring 来处理 REST 端点的生成,因此我创建了这个简单的存储库:

@RepositoryRestResource(collectionResourceRel = "profile", path = "profile")
public interface ProfileRepository extends MongoRepository<Profile, String> {

  List<Profile> findByLastname(@Param("n") String lastname);
  List<Profile> findByFirstname(@Param("n") String firstname);
  List<Profile> findByEmail(@Param("e") String email);

}

所以我没有上课@RestController

我尝试向io.swagger.v3.oas.annotations中的方法添加一些注释ProfileRepository,但没有生成任何内容。

@Operation(summary = "Find Profile by first name", description = "Find Profile by first name")
List<Profile> findByLastname(@Param("n") String lastname);

结果http://localhost:8080/v3/api-docs/

{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenAPI definition",
    "version": "v0"
  },
  "servers": [
    {
      "url": "http://localhost:8080",
      "description": "Generated server url"
    }
  ],
  "paths": {},
  "components": {}
}

如何为我的 Spring Data REST 存储库端点生成 API 文档?

4

2 回答 2

1

根据这个问题:https://github.com/springdoc/springdoc-openapi/issues/282spring-boot-starter-data-rest ,从那时起无法生成 OpenAPI 文档

spring-data-rest 实体端点在运行时动态生成 [...]

在上面的 GitHub 问题上引用用户“bnasslahsen”。

于 2020-04-01T15:44:05.257 回答
0

从 springdoc-openapi 的 1.2.11 版本开始,添加org.springdoc:springdoc-openapi-data-rest依赖项将为 Spring Data REST 端点生成 API 文档。

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-data-rest</artifactId>
  <version>1.5.10</version>
</dependency>
于 2021-09-21T20:16:28.540 回答