【发布时间】:2014-11-09 02:20:02
【问题描述】:
我有一个接收抽象类的控制器。 这个类有 3 个不同的子类。
为了让控制器接收 ajax 调用,我必须添加一个“@class”:com.my.project.my.Class 我要发送的对象的参数。
实施起来感觉非常糟糕。 是否有任何其他方法可以发送子类并避免强制客户端在每次调用时传递实际的类名。
谢谢
【问题讨论】:
标签: java ajax spring spring-mvc jackson
我有一个接收抽象类的控制器。 这个类有 3 个不同的子类。
为了让控制器接收 ajax 调用,我必须添加一个“@class”:com.my.project.my.Class 我要发送的对象的参数。
实施起来感觉非常糟糕。 是否有任何其他方法可以发送子类并避免强制客户端在每次调用时传递实际的类名。
谢谢
【问题讨论】:
标签: java ajax spring spring-mvc jackson
Jackson 有自己的继承处理机制。您不一定需要使用@class。 See here.
此功能不是最干净的。 Jackson 通过开发人员的提示进行反序列化。请注意,在与ObjectMapper 交互时,您总是传递Class 或TypeReference 对象。同样,JSON 需要包含要反序列化到哪个子类型的提示。
【讨论】: