restTemplate.getForObject("URL", Object[].class) return 可以为 NULL 吗?
Can restTemplate.getForObject("URL", Object[].class) return NULL?
我已经使用了这个答案的解决方案:
Get list of JSON objects with Spring RestTemplate
它工作得很好。它做的正是我需要的。
ProcessDefinition[] response = restTemplate.getForObject(url, ProcessDefinition[].class);
够不够:
return Arrays.asList(response);
或者这样会更好:
return Arrays.asList(Optional.ofNullable(response).orElse(new ProcessDefinition[0]));
P.S。不好意思开了新话题,我的业力不允许我评论答案。
是的,
的结果
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)
如果你需要直播。
我已经使用了这个答案的解决方案: Get list of JSON objects with Spring RestTemplate 它工作得很好。它做的正是我需要的。
ProcessDefinition[] response = restTemplate.getForObject(url, ProcessDefinition[].class);
够不够:
return Arrays.asList(response);
或者这样会更好:
return Arrays.asList(Optional.ofNullable(response).orElse(new ProcessDefinition[0]));
P.S。不好意思开了新话题,我的业力不允许我评论答案。
是的,
的结果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)
如果你需要直播。