Spring Boot 响应体无效时如何使用 RestTemplate 客户端进行 GET 请求?

How to use RestTemplate client for GET request when response body is void in Spring Boot?

我在 Java 和 Spring 引导项目中使用 RestTemplate 客户端,当我收到来自服务器的响应正文时,我有以下代码:

    private RestTemplate oauth2RestTemplate;
    private ParameterizedTypeReference<List<Employee>> parameterizedTypeReference;

    ....

   ResponseEntity<List<Employee>> rtGetResponse = oauth2RestTemplate.exchange(uriComponents.toUri(), HttpMethod.GET, httpEntity, parameterizedTypeReference);

所以在这种情况下,我会收到一份员工名单。

现在我想使用这个方法,但是来自服务器的响应主体是 void,我想使用交换方法,但我不知道用什么代替 parameterizedTypeReference,因为响应是无效的.所以我没有响应主体,我只想捕获异常。

这样做可以吗?

try {
    oauth2RestTemplate.exchange(uriComponents.toUri(), HttpMethod.GET, httpEntity, null);
 } catch (HttpStatusCodeException e) {
    switch (e.getStatusCode()) {
        case BAD_REQUEST:
            throw new BadRequestException(e);
        case NOT_FOUND:
            throw new NotFoundException(e);
        ...
    }
} 

您可以使用 Void class

try {
    oauth2RestTemplate.exchange(uriComponents.toUri(), HttpMethod.GET, httpEntity, Void.class);
 } catch (HttpStatusCodeException e) {
    switch (e.getStatusCode()) {
        case BAD_REQUEST:
            throw new BadRequestException(e);
        case NOT_FOUND:
            throw new NotFoundException(e);
        ...
    }
}