У меня возникла следующая проблема: на swagger в разделе «Модели» я вижу только абстрактный базовый класс, расширенный еще на 3 класса. Моя текущая конечная точка возвращает базовый тип класса, потому что в одной конечной точке мне могут быть возвращены 3 разных типа.
Так что в принципе у меня есть что-то вроде этого
@MappedSuperclass
@ApiModel(description = "Base Details.")
abstract class BaseClass(
open var id: String? = null,
var prop1: String? = null,
var prop2: String? = null,
var prop3: String? = null,
var prop4: String? = null
)
@ApiModel(description = "Some Specific Details that contains all base properties.")
data class AnotherClass(
val prop4: String,
val prop5: String,
val prop6: Set<Amount>,
val prop7: Set<Amount>,
val prop8: String
) : BaseClass()
@ApiModel(description = "Some more Specific Details that contains all base properties.")
data class OneMoreClass(
val prop4: String,
val prop5: String
) : BaseClass()
And in RestController i have this
@GetMapping
@ApiOperation(value = "End point description", notes = "Notes notes notes.")
fun getSomethingFromDatabase(): List<BaseClass> {
return someService.getData();
}
Итак, проблема, которая у меня есть, связана с пользовательским интерфейсом, в разделе Модели я вижу только BaseClass и никаких других классов вообще ...
Я попробовал это, потому что где-то я видел этот пример:
@ApiModel(description = "Base Details.", subTypes = {AnotherClass.class})
BaseClass
но так у меня возникает проблема "kotlin", то есть "имя отсутствует", также я не могу сделать AnotherClass :: class ...