【发布时间】:2019-08-12 10:27:09
【问题描述】:
我正在生成 Rest 端点,包括向生成的代码添加 Openapi/Swagger 注释。
虽然它适用于基本类型,但我对自定义类有一些问题。
现在我有很多自定义类的重复架构条目(使用 @Schema(implementation = MyClass.class)),但至少需要的信息在那里。不过,我想找到一种方法来删除重复的架构条目,同时保留其他信息。
在讨论 $ref 和缺少 兄弟属性 的 github 问题上,我发现 an example 如何在 yaml 中手动编写以获得结果我正在寻找,但我不知道如何设置注释来生成它。
这就是我认为如果我遵循example 的注释应该是这样的(为了安全起见,它被添加到getter 和setter 中):
import io.swagger.v3.oas.annotations.media.Schema;
...
public class SepaPaymentRequest {
...
@Schema(name = "w307BetrBeg", description = "BETRAG BEGUENSTIGTER ", allOf = { com.diesoftware.services.utils.Betrag.class }, required = true)
public void setW307BetrBeg(final Betrag w307BetrBeg) {
this.w307BetrBeg = w307BetrBeg;
}
...
}
但是当我获取 openapi.yaml (sn-p) 时我得到了什么:
w307BetrBeg:
$ref: '#/components/schemas/Betrag'
我想要什么:
w307BetrBeg:
title: 'Betrag'
description: 'BETRAG BEGUENSTIGTER'
allOf:
- $ref: '#/components/schemas/Betrag'
任何提示都非常受欢迎。
【问题讨论】:
-
你有没有得到这个答案?
-
目前还没有,大约一个月前打开了issue。那边也安静。