我有一个带有两个操作 /balance 和 /transactions 的 Rest 服务来获取客户的余额和交易。
此操作的返回类型是 BalanceResponse 和 TransactionResponse,这两种类型都是从 Response 扩展而来的
在记录 /balance 服务操作时,它还会在第二个 subType(TransactionResponse) 中列出响应字段。
如何仅显示与其返回类型对应的字段?如果它的 /balance 则显示(状态、余额和限制),并且如果它的 /transaction 仅在响应字段中显示(状态和交易列表)
有人可以让我知道如何处理文档中的基本继承类型
请在下面找到代码片段和 Auto RestDoc 生成的文档
//Base class
@JsonTypeInfo(use = NAME, include = PROPERTY, property = "type", visible = true)
@JsonSubTypes({
@JsonSubTypes.Type(value = BalanceResponse.class, name = "BalanceResponse"),
@JsonSubTypes.Type(value = TransactionsResponse.class, name = "TransactionResponse")})
public class Response {
public Status status;
....
...
public Response(StatusCode status) {
this.status = new Status(status.getCode(), status.getDescription());
}
}
// Type1: BalanceResponse
@JsonPropertyOrder({ "status", "balance", "restrictions" })
public class BalanceResponse extends Response {
/**
* The balance of this account
*/
public int balance = -1;
/**
* List of limitations on this account.
*/
public List<String> restrictions = Collections.emptyList();
}
// SubType-2 TransactionResponse
public class TransactionsResponse extends Response {
public List<Transaction> transactions;
在此处输入图像描述Auto RestDoc 响应字段