Diskriminatorschnittstelle generiert nicht alle Methoden in der Codegen -Schnittstelle für OpenAPI SpringJava

Java-Forum
Guest
 Diskriminatorschnittstelle generiert nicht alle Methoden in der Codegen -Schnittstelle für OpenAPI Spring

Post by Guest »

Wir verwenden die Diskriminator -Methode in der Schnittstelle für einen OpenAPI -basierten Spring -Code -Generator, auf dem wir die Klassen generieren, die gemeinsam genutzt werden sollen. Br />

Code: Select all

@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>
Es gibt Eigenschaften, die über untergeordnete Schnittstellen geteilt werden. Daher möchten wir die gemeinsam genutzten Geters im MainInterface 
selbst hinzufügen.

Code: Select all

public interface SharedProperties {
String getName();
String getDescription();
}
Wir möchten, dass die Typ -Schnittstellen SharedProperties Methoden haben. Aber wir können es nicht richtig hinzufügen. Versuchen Sie es, es als Anyway von zu MainInterface hinzuzufügen, aber Diskriminatoren durcheinander und nicht eingeben MainInterface , aber alle Eigenschaften von SharedProperties . Gibt es eine Möglichkeit, dies zu implementieren, um die Typ -Schnittstellen konsistent zu halten, um die Diskriminatoreigenschaften zu erweitern?

Code: Select all

@JsonIgnoreProperties(
value = {"type"},
allowSetters = true
)
@JsonTypeInfo(
use = Id.NAME,
include = As.PROPERTY,
property = "type",
visible = true
)
@JsonSubTypes({@Type(
value = Type1.class,
name = "type1"
), @Type(
value = Type2.class,
name = "type2"
), @Type(
value = Type3.class,
name = "type3"
)})
public interface MainInterface {
Type getType();
}
Aber wir möchten GetName () und getDescription () sowie Teil des MainInterface .
< P> Wir haben auch versucht, die Methoden direkt zu MainInterface hinzuzufügen, aber der Generator ignoriert sie.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post