【发布时间】:2020-04-02 02:00:14
【问题描述】:
我已经使用 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 的课程。
我尝试在ProfileRepository 中的方法中添加一些io.swagger.v3.oas.annotations 注释,但没有生成任何内容。
@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 文档?
【问题讨论】:
-
你能解决这个问题吗?它可能不受支持(请参阅github.com/springdoc/springdoc-openapi/issues/298)。也相关;我自己关于这个话题的问题:stackoverflow.com/questions/59868163/…
标签: java spring-boot spring-data-mongodb spring-data-rest springdoc