0

顧客の残高とトランザクションを取得するために、/balance と /transactions の 2 つのオペレーションを持つ Rest サービスがあります。

この操作の戻り値の型は BalanceResponse と TransactionResponse であり、これらの型は両方とも Response から拡張されています

/balance サービス操作の文書化では、2 番目のサブタイプ (TransactionResponse) にも応答フィールドがリストされています。

戻り値の型に対応するフィールドのみを表示する方法は? /balance の場合は (ステータス、残高、制限) が表示され、/transaction のみの場合は (ステータスとトランザクションのリスト) が [Response] フィールドに表示されます。

誰かがドキュメントで基本的に継承タイプを処理する方法を教えてください

以下のコード スニペットと自動 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 Response フィールド

4

1 に答える 1