我有一个接收抽象类的 Controller 。 该类有 3 个不同的子类。
为了让 Controller 接收ajax调用,我必须添加一个“@class”:com.my.project.my.Class 我发送的对象的参数。
这感觉实现起来真的很糟糕。 是否有其他方法来发送子类并避免强制客户端在每次调用时传递实际的类名。
谢谢
最佳答案
Jackson 有自己的继承处理机制。您不一定需要使用@class
。 See here .
这个功能不可能是最干净的。 Jackson 通过开发人员的提示进行反序列化。请注意,在与 ObjectMapper
交互时,如何始终传递 Class
或 TypeReference
对象。同样,JSON 需要包含反序列化到哪个子类型的提示。
关于java - Ajax 调用子类的 Jackson 编码 (Spring MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850038/