我们正在使用 Jersey、Jackson 和 Spring 服务 (@service) 注释来公开一些基于 REST 的 Web 服务。请求和响应数据以 JSON 格式交换。
以下是服务请求对象内容:
public class ServiceRequest{
private RequestHeader requestHeader;
private List<BaseEntity> requestData;
}
所有特定实体都将从 BaseEntity 类扩展。例如 :
public class User extends BaseEntity{
private String userName;
}
对于所有服务操作,我们通过传递请求数据对象列表仅接受 ServiceRequest 对象。现在,当我们尝试从 REST 客户端调用这些操作时,这些操作都失败了
userName is not found as part of BaseEntity.
这是因为在转换时,Jersey/Jackson 会尝试使用指定对象的属性自动检测传入的字段名称。
我想知道有什么办法,我可以聪明地处理这个问题。我们没有更改服务签名的选项。非常感谢您对此的帮助。