Интерфейс дискриминатора, не генерируя все методы в интерфейсе CodeGen для OpenAPI SpringJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Интерфейс дискриминатора, не генерируя все методы в интерфейсе CodeGen для OpenAPI Spring

Сообщение Anonymous »

Мы используем метод дискриминатора в интерфейсе для генератора пружинного кода на основе OpenAPI, на основе которого мы генерируем классы, которые будут переданы. Br />

Код: Выделить всё

@Schema(
discriminatorMapping = {
@DiscriminatorMapping(value = "type1", schema = Type1.class),
@DiscriminatorMapping(value = "type2", schema = Type2.class),
@DiscriminatorMapping(value = "type3", schema = Type3.class),
},
discriminatorProperty = "type",
oneOf = {Type1.class,
Type2.class,
Type3.class
}
)
public interface MainInterface {
@Schema(
requiredMode = Schema.RequiredMode.REQUIRED,
example = "type1"
)
Type getType();

}
< /code>
Есть свойства, которые используются по этим типам дочерних интерфейсов. Таким образом, мы хотим добавить общие Getters в MainInterface 
.

Код: Выделить всё

public interface SharedProperties {
String getName();
String getDescription();
}
Мы хотим, чтобы интерфейсы типа были методами sharedproperties . Но мы не можем добавить его должным образом. Попроеклся, добавьте его как anyof в mainInterface , но дискриминаторы испортят, а не типа не реализует MainInterface , но у него есть все свойства от SharedProperties . Существует ли способ реализовать это с помощью интерфейсов типа, согласованными для расширения свойств дискриминатора.

Подробнее здесь: https://stackoverflow.com/questions/794 ... e-for-open
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»