swagger-codegenを使用してレストクライアントを生成していますが、問題が発生します。使用しているサービスは継承モデルを返します。swagger-codegen client:モデルにjacksonアノテーションを含める方法
public class Person
{
private List<Book> books;
...
}
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "typeClass")
@JsonSubTypes({ @JsonSubTypes.Type(value = Magazine.class) })
public class Book
{
//some prop
}
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "typeClass")
public class Magazine extends Book
{
//some prop
}
APIモデルに継承を処理するためのjackson注釈が付いています。 APIは正常に動作します。 クライアントを生成すると、クライアントモデルにはjacksonアノテーションがありません。したがって、生成されたクライアントを使用してAPIを使用すると、Bookクラスを使用して常に逆直列化されます。マガジンクラスを「見る」ことはありません。私は、生成されたモデルが継承を処理するためのjacksonアノテーションを持っていないためだと思います。
jagson-annotationsをモデルに追加するためにswagger-codegenを設定するにはどうすればよいですか。
おかげでたくさん...
[javaのコード](https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/java/io/swagger/codegen/)をご覧ください。言語/ JavaClientCodegen.java)と[テンプレート](https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/resources/Java/typeInfoAnnotation.mustache)追加のプロパティに 'jackson'プロパティを加える何かをする必要があります。最初のリンクで 'additionalProperties.put(" jackson "、" true ");を見て、それをどうやって得るかを考えてください – moondaisy