如何解决Quarkus PUT主体参数:在超类型对象内反序列化子类型时出错
在Quarkus中,我公开了一种PUT方法,该方法可以修改动物(可以是狗或猫)
这是我想要的方法签名:
@PUT
@Path("{id}")
public Response updateAnimal(@PathParam Long id,Animal animal) {}
我希望前端发送狗或猫,它们会在Quarkus中反序列化为动物。 但是当前端发送“狗”或“猫”时,我会收到此错误:
严重[org.ecl.yas.int.Unmarshaller](executor-thread-199)无法创建实例
前端会发送一个具有Dog或Cat的所有属性的json对象,我很确定Quarkus不会设法将json转换为超类型对象。
public abstract class Animal {
private String name;
...
}
public class Dog extends Animal {
private String dogAttribute;
...
}
public class Cat extends Animal {
private String catAttriute;
}
前端在正文中发送的json示例:
{
"name": "toto","dogAttribute": "dog"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。