问题描述
Class ResponseEntity<T> {
Integer status;
String message;
T payload;
}
//This is a declarative client which calls the internal-api for user data.
@Inject
UserRespositoryClient userRepoClient;
@ApiResponse(
responseCode = "200",description = "Get a user by its id.",content = @Content(
schema = @Schema(
ref = "resources/schemas.yml#/components/schemas/User",),)
)
@Get("user/{?userId}")
Single<ResponseEntity<?>> getUser(String userId) {
return userRepoClient.getUserById(userId);
}
现在,因为我们已经在 ResponseEntity 类中传递了通配符 (?) 作为泛型类型。一世 知道在泛型中传递通配符类型不好,但是来自泛型的数据 内部 apis 是动态的,所以,我可能无法创建模型类并且必须传递通配符类型,但是由于这个 OpenApi 无法创建一个很明显的架构,所以在架构部分的 swagger ui 中显示一个空对象像这样
swagger ui empty object example image
所以,我创建了一个 schema.yml 文件,我在其中编写了用户架构和 在 schema ref 中传递 schema.yml 文件的引用,如下所示:
schema = @Schema(
ref = "resources/schemas.yml#/components/schemas/User",)
我的 yml 文件目录是这样的 Yml file directory example image
但由于某种原因,不知道为什么找不到文件。没有错误发生。没有消息来。 没有什么!是我没有正确传递引用还是有其他方法可以做到这一点或 可能是更好的解决方案?
顺便说一句,我使用的是 java --version: 11 和 Micronaut --version: 2.5.4
谢谢:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)