2

次のコントローラーコードがあります。

    public abstract class BaseController<TClientModel extents BaseClientModel> {
       @Operation
       @GetMapping
       Page<TClientModel> get()
    }

    @Data
    public abstract class BaseClientModel {
       int id;
    }

    @RestController
    public class SpecificController extends BaseController<SpecificClientModel> {}

    @Data
    public class SpecificClientModel extends BaseClientModel {
        String name;
    }

問題: Swagger で SpecificController に対して open-api マークアップが生成されると、応答のクライアント モデルは、SpecificClientModel ではなく BaseClientModel であり、id フィールドのみがあり、id+name はありません。

実際:

{
  "id": 0,
}

期待される:

{
  "id": 0,
  "name": "string",
}

40 以上の特定のコントローラーがある場合、特定の汎用パラメーターに基づいて springdoc open-api に正しいマークアップを生成させる方法はありますか?

4

1 に答える 1