我知道这个异常报告给我的是什么。它是一个零回报。但我想传递一个null对象,并希望接收一个null对象。我不想检查null并创建一个空对象,它浪费了cpu资源,因为null传达了它所拥有的,没有找到数据。如何允许JSON发送空值。
OR
我在这里没有选择,我需要创建一个虚拟对象并通过线路发送它?
SubscriberListRequest request = new
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();
答案 0 :(得分:1)
你无法真正通过null
,所以我建议你使用Null对象模式(http://en.wikipedia.org/wiki/Null_Object_pattern)并创建一个静态空数组/列表在SubscriberListResponse
中,如果没有结果,将从SubscriberListResponse.getSubscriberList()
返回。然后,您不必在服务中检查null,而是在getSubscriberList
中确保始终返回有效对象。