使用Spring RestTemplate for Android发出经过身份验证的POST请求
2022-08-31 13:25:38
我有一个RESTful API,我正在尝试通过Android和RestTemplate进行连接。对 API 的所有请求都通过 HTTP 身份验证进行身份验证,方法是设置 HttpEntity 的标头,然后使用 RestTemplate 的方法。exchange()
所有GET请求都以这种方式工作得很好,但我无法弄清楚如何完成经过身份验证的POST请求。 并处理 POST,但没有简单的方法来设置身份验证标头。postForObject
postForEntity
因此,对于GETs来说,这非常有效:
HttpAuthentication httpAuthentication = new HttpBasicAuthentication("username", "password");
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAuthorization(httpAuthentication);
HttpEntity<?> httpEntity = new HttpEntity<Object>(requestHeaders);
MyModel[] models = restTemplate.exchange("/api/url", HttpMethod.GET, httpEntity, MyModel[].class);
但是POST显然不能使用,因为它从不发送自定义标头,并且我不知道如何使用.exchange()
exchange()
从 RestTemplate 发出经过身份验证的 POST 请求的最简单方法是什么?