有没有办法在springfox swagger(2.7.0)中暴露遗传/多态性?我知道昂首阔步规范支持所有的。springfox支持这个吗?下面是示例域模型。
@ApiModel
public abstract class Animal{
private String name;
}
@ApiModel(parent=Animal.class)
public class Dog extends Animal{
...
}
@ApiModel(parent=Animal.class)
public class Cat extends Animal{
...
}
若控制者归还动物,那个么《大摇大摆》合同不会暴露猫或狗。它只返回带有属性的动物。
@ApiModel(subTypes = {
Dog.class,
Cat.class},
discriminator = "type")
public abstract class Animal{
private String name;
public abstract AnimalType getType();
}
@ApiModel(parent=Animal.class)
public class Dog extends Animal{
...
}
@ApiModel(parent=Animal.class)
public class Cat extends Animal{
...
}
public enum AnimalType{
CAT,
DOG;
}
像上面这样的解决方案对我有用,但只记录了具有所有选项(类型)的父类。
对多态性的支持仍然不可用(使用2.9.2)。我们在项目中所做的就是简单地手动添加模型。
在你的昂首阔步配置:
@Bean
public Docket apiDocumentation() {
TypeResolver typeResolver = new TypeResolver();
return new Docket(DocumentationType.SWAGGER_2)
.additionalModels(
typeResolver.resolve(type1.class),
typeResolver.resolve(type2.class),
typeResolver.resolve(typeX.class));
}
这将使模型在swagger ui中可用
在您发布它时,SpringFox还没有添加对多态性的支持。然而,2.9.0版本似乎添加了它。看看这个
从2.7.0开始,SpringFox Swagger不支持继承: https://github.com/springfox/springfox/issues/1983 我有一个应用程序,它依赖于swagger支持继承这一事实,但仍然需要将库更新到2.8.0版本。 真的有可能以某种方式(甚至是肮脏的方式)为继承提供向后兼容性吗? 真的非常感谢任何帮助,谢谢
null 问题是: 当添加以下依赖项以实现“Spring Webflux+SpringFox+JSR303”时, 我得到以下错误, 另外,如果当前不支持JSR303,那么除了JSR303之外,还可以使用哪些其他验证注释?我不想使用Swagger核心注释,只是因为它会扰乱代码的可读性。
现在我发现这个版本不支持java 7,但是我需要它用于一个遗留项目。从发行说明来看,很明显2.9.0将是支持java 7的最后一个版本。 我的问题是 - 如果我只有基本的swaggerconfig,如果我向下迁移到2.9.0,我需要做什么改变吗? 更新1 -版本2.9.1不支持Java 7。而在2.9.0版本上,它给出了“无法推断基础url”的错误。 我刚刚将版本号从2.9.2更改为2.9.0。在
我使用的是swagger版本2.2.2。如果我转到地址http://localhost:8080/swagger-ui.html,我将直接获得swagger UI。有没有办法,一个安全层可以增加,像,用户应该提示输入用户id和密码之前,大摇大摆的UI显示?
在springboot应用程序上下文中,我正在查找swagger的.json输出。
但对于本地时间来说,我仍然在swagger-ui的示例和模型中得到这些 我读过一些东西,swagger规范不使用时间格式。这是不是有些关联?