gpt4 book ai didi

spring-boot - 具有多态性的 Swagger UI 未显示正确的模型

转载 作者:行者123 更新时间:2023-12-02 21:50:14 30 4
gpt4 key购买 nike

我的 swagger UI(版本 2.8.0)不能很好地推断我的模型:

观众类别:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY)
@JsonSubTypes({
@JsonSubTypes.Type(value = AudienceA.class, name = "AudienceA"),
@JsonSubTypes.Type(value = AudienceB.class, name = "AudienceB")
})
public interface Audience {
void doSomething();
}

AudienceA.class:

public class AudienceA implements Audience {

private String someStringField;

public AudienceA(){
}

@Override
public void doSomething(){
//do some stuff
}

public String getSomeStringField(){
return someStringField;
}
}

AudienceB.class:

与 AudienceA 类类似。

SwaggerUI 显示一个空模型:

enter image description here

我期待显示有关 AudienceA 或 AudienceB 模型的内容。这是 UI 的预期行为吗?

谢谢。

最佳答案

Swagger 存在多态性问题,尤其是 Swagger 2.0。 Open API 3.0 解决了很多这些问题您可能需要查看以下链接,了解 Open API 3.0 中如何处理多态性

开放 API 3.0 - https://swagger.io/docs/specification/data-models/inheritance-and-polymorphism/有另一篇文章可能解决您在这里提到的问题 https://groups.google.com/forum/#!msg/swagger-swaggersocket/1z0f0pLplrM/WylVo2ioDAAJ

关于spring-boot - 具有多态性的 Swagger UI 未显示正确的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49437600/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com