我们有两个版本的类XXX。在第一个版本中,它包含属性x并排除属性y,在第二个版本中,它排除x并包含y。
我不能这样做,因为我不能将参数传递给隐藏属性,它需要一个相关表达式。
这是我使用的示例代码,这里的数量是xx。
@ApiModelProperty(dataType = "Float", required = false, notes = "Item Sequence", position = 5, hidden = this.isOpenMapping)
public Float getQuantity() {
return quantity;
}
this. isOpenMaps是区分版本一还是版本二的类属性。
如何解决这个问题?如果您需要更多信息,请告诉我。
在swagger
中工作时,最接近解决问题的方法是类的多态性
。尽管Swagger
不完全支持这一点,但它实际上可以在autogen代码中工作。有关更多详细信息,请参阅此处。
使用多态性
,您可以根据请求的实体类型动态创建不同的响应,共享一个公共代码库。
也就是说,考虑实现组合
和继承
逻辑。请参阅此处有关Swagger继承和组合。