【发布时间】:2020-12-08 17:38:53
【问题描述】:
我正在使用下面的 Java (Spring 2.0) 代码从 webService 读取 ResponseEntity:
public ResponseEntity<?> getTemplate() {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<?> myResponse= restTemplate.postForEntity(
myUrl,
myRequestObj,
MyResponseObj.class);
return myResponse;
}
但是,如果 myUrl webservice 返回 HttpStatus.BAD_REQUEST (400) ,这不会分配给 myResponse 并且会引发错误,因此没有 ResponseBody 并且我需要将请求包装在 try catch 块中。这是正确的还是有办法解决这个问题? 此外,这是否意味着 myUrl Web 服务永远不应有意(以编程方式)将 myResponseObj 的 HttpStatus 设置为 HttpStatus.BAD_REQUEST?因此,即使 myRequestObj 包含错误数据,myUrl webService 仍应将响应状态设置为 200 的值,即 HttpStatus.NO_CONTENT。欢迎任何 cmets 了解如何正确执行此操作。
【问题讨论】: