在我的项目中,所有POJO类都扩展父类。由于我的控制器有一个方法,其返回类型是父类,但实际上它是返回子类在这里我使用多态性的概念,即我是类型转换的子类到父类。
在RAML生成代码中:RAML生成器代码基本上使用控制器的方法签名,因为签名包含父类,所以它将生成parent的模式,但实际上我们需要实际响应的模式。
在RAML的API响应中是否需要添加两个模式?或有什么方法可以得到使用多态性概念的API的实际响应模式吗?
考虑使用联合类型和鉴别符。联合类型的实例必须满足至少一个关联类型的所有限制。因此,定义为Phone|Notebook
的联合类型的实例必须是Phone
或Notebook
的实例(或两者都是)。Discriminator允许在运行时推断单个对象的具体类型,因此它类似于多态性的概念。