繁体   English   中英

restTemplate.getForObject(“URL”,Object [] .class)可以返回NULL吗?

[英]Can restTemplate.getForObject(“URL”, Object[].class) return NULL?

我使用了这个答案的解决方案: 使用Spring RestTemplate获取JSON对象列表它完美地运行。 它完全符合我的需要。

ProcessDefinition[] response = restTemplate.getForObject(url, ProcessDefinition[].class);

是否应该:

return Arrays.asList(response);

或者这样会更好:

return Arrays.asList(Optional.ofNullable(response).orElse(new ProcessDefinition[0]));

PS很抱歉开始新主题,但我的业力不允许我评论答案。

是的,结果

ProcessDefinition[] response = restTemplate.getForObject(url, ProcessDefinition[].class);

如果HTTP响应为空(不是[] ,但是完全为空),则可以为null

因此,如果您不确定HTTP响应永远不会为空,那么检查它会更安全。

return Optional.ofNullable(response).map(Arrays::asList).orElseGet(ArrayList::new)

要么

return Optional.ofNullable(response).map(Stream::of).orElseGet(Stream::empty)

如果你需要一个流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM