-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
swagger-codegen-3.0.18 hat Probleme mit der Variable @type #112
Comments
Kurzes Update: Wenn ich die generierte Klasse wie unten anpasse, kann ich den Request erfolgreich an die API senden. Irgendwas scheint dazu zu führen, dass bei Verwendung der Subtypes @type nicht im JSON landet. @Schema(description = "Mögliche Typen: Ledig, Verheiratet, Verwitwet, Geschieden, GetrenntLebend, Lebenspartnerschaft")
//@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type", visible = true)
//@JsonSubTypes({
// @JsonSubTypes.Type(value = Ledig.class, name = "Ledig"),
// @JsonSubTypes.Type(value = Geschieden.class, name = "Geschieden"),
// @JsonSubTypes.Type(value = Verheiratet.class, name = "Verheiratet"),
// @JsonSubTypes.Type(value = Lebenspartnerschaft.class, name = "Lebenspartnerschaft"),
// @JsonSubTypes.Type(value = GetrenntLebend.class, name = "GetrenntLebend"),
// @JsonSubTypes.Type(value = Verwitwet.class, name = "Verwitwet"),
//})
public class Familienstand {
// @JsonTypeId
@JsonProperty("@type")
private String _atType = null;
} |
Wird es noch Anpassung an der Json/Yaml-Spezifikation geben, damit das generierte Datenmodell in Java funktioniert? Die Info würde bei der Planung sehr helfen, da ich den Aufwand für das Schaffen von Workarounds ansonsten mit berücksichtigen muss. |
Hallo @KDingeling, generell übernehmen wir keinen Support für Code Generatoren. Es sind erstmal keine Anpassungen an der Json/Yaml-Spezifikation geplant. Gleichzeitig benutzen wir intern dieselbe Version von swagger-codegen und kommen zu demselben Ergebnis. Allerdings scheint es beim Deserialisieren kein Problem zu sein. Ich prüfe das gerade noch. Ansonsten könnte ein Mixin im ObjectMapper das Problem der fehlenden
|
Moin,
wir generieren das Datenmodell anhand der kundenangaben-openapi.json mit swagger-codegen-3.0.18, dabei tritt offenbar ein Bug im Generator mit der Variable @type auf. Hier nehme ich mal als Beispiel den Familienstand, es betrifft aber alle Objekte, in denen @type required ist.
Wenn ich es richtig verstehe, müsste für die Variable _atType in Familienstand eigentlich die Annotation @JsonProperty("@type") generiert werden. Das passiert aber nicht und führt dann beim Aufruf der API zu Fehlern. Ich setze den _atType nach Erzeugen der Instanz selbst, da das vom Generator nicht in der Klasse Ledig selbst erledigt wird.
Wenn ich das so abschicke, gibt mir der Bodyvalidation Endpunkt folgendes zurück:
400 BAD_REQUEST - Cannot deserialize into kundenangaben.haushalte.[0].kunden.[0].personendaten.familienstand: @type is missing
Ich bin nicht sicher, wie ich das Problem lösen kann, ohne in den generierten Klassen Änderungen vorzunehmen, die dann bei einem Update des Modells wieder überschrieben werden würden. Habt ihr dazu vielleicht eine Idee?
Ich habe auch schon neuere Versionen von swagger-codegen probiert, dort tritt das selbe Verhalten auf.
The text was updated successfully, but these errors were encountered: