우리는 저지, 잭슨 및 스프링 서비스 (@ 서비스) 주석을 사용하여 일부 REST 기반 웹 서비스를 노출합니다. 요청 및 응답 데이터는 JSON 형식으로 교환됩니다.저지 잭슨 및 스프링 서비스
public class ServiceRequest{
private RequestHeader requestHeader;
private List<BaseEntity> requestData;
}
모든 특정 엔티티가 BaseEntity 클래스에서 확장됩니다
다음은 서비스 요청 개체 콘텐츠입니다. 예를 들면 다음과 같습니다.
모든 서비스 운영에 대해 우리는 요청 데이터 객체 목록을 전달하여 ServiceRequest 객체 만 허용합니다. 우리는 REST 클라이언트에서 이러한 작업을 호출 할 때 지금, 이들은
userName is not found as part of BaseEntity.
변환하는 동안, 뉴저지/잭슨이 지정된 개체의 속성을 입력 필드 이름을 자동으로 감지하기 때문에이은으로 실패.
내가 알고 싶은 것은 어떤 방법이든, 나는 이것을 지적인 방식으로 처리 할 수있다. 우리는 서비스의 서명을 변경할 수있는 옵션이 없습니다. 이 문제에 정말로 도움을 주셔서 감사합니다.
은 BaseEntity JavaBean입니다 (예 : userName에 대한 getter/setter가 있음) –
BaseEntity는 JavaBean입니다. 그러나 사용자 (사용자 이름이있는)는 BaseEntity를 확장합니다. BaseEntity는 생성 된 날짜, 업데이트 날짜, 업데이트 날짜 (모든 엔티티에 공통적)로 작성된 ID를 포함합니다. – Manjunath
아래 링크는 내 질문에 대한 대답입니다. http://stackoverflow.com/questions/11798394/polymorphism-in-jackson-annotations-jsontypeinfo-usage – Manjunath