0

我知道这个异常为我报告了什么。它是一个空返回。但我想传递一个空对象,并想接收一个空对象。我不想检查 null 并创建一个空对象,它浪费了 cpu 资源,因为 null 传达了它必须传达的内容,没有找到数据。如何允许 JSON 发送空值。

或者

我在这里没有选择吗,我需要创建一个虚拟对象并通过网络发送它吗?

订阅者列表请求请求 = 新

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();
4

1 回答 1

1

你不能真正通过null电线,所以我建议你使用空对象模式(http://en.wikipedia.org/wiki/Null_Object_pattern)并创建一个静态空数组/列表SubscriberListResponseSubscriberListResponse.getSubscriberList()以防万一没有结果。然后你不必在你的服务中检查 null ,但getSubscriberList要确保你总是返回一个有效的对象。

于 2012-11-05T19:32:03.997 回答