2012-10-29 7 views
0

이 예외가 나를 위해 어떤 보고서를 작성했는지 알고 있습니다. 그것의 null 반환합니다. 하지만 null 개체를 전달하고 null 개체를 받기를 원합니다. null을 확인하고 빈 객체를 생성하고 싶지는 않습니다. null은 CPU 자원의 낭비입니다. 왜냐하면 null은 데이터를 찾지 못했기 때문입니다. JSON에서 null을 보내도록 허용하려면 어떻게해야합니까? 여기에 옵션없이javax.xml.stream.XMLStreamException JSON 표현식을 비워 둘 수 없습니다.

또는

암의 I, I는 더미 객체를 생성하고 와이어를 통해 보내해야합니까?

SubscriberListRequest((SubscriberListConcrete)element.getValue()) ; 
SubscriberListResponse response ; 
clientSession = sessionManager.getClientSession(identityHash) ; 
clientSession.getSendQueue().sendRequest(request) ; 
try { 
    response = (SubscriberListResponse)clientSession.waitAndGetResponse(request) ; 
} catch (WaitedLongEnoughException e) { 
    return Response.serverError().build() ; 
} catch (UnableToResolveResponseException e) { 
    return Response.serverError().build() ; 
} 
// 
// Should I check for response.getSubscriberList() == null, create a new SubscriberList() and send it over the wire ? 
// 
return Response.ok(response.getSubscriberList()).build(); 

답변

1

새로운

SubscriberListRequest 요청이 = 당신은 정말 와이어를 통해 null를 전달할 수 없습니다, 그래서 당신은 널 개체 패턴을 사용하는 것이 좋습니다 (http://en.wikipedia.org/wiki/Null_Object_pattern) 결과가없는 경우 SubscriberListResponse.getSubscriberList()에서 반환 될 SubscriberListResponse에 정적 빈 배열/목록을 만듭니다. 그런 다음 서비스에서 null을 확인하지 않아도되지만 getSubscriberList에서 항상 유효한 객체를 반환하는지 확인해야합니다.

관련 문제