我正在尝试使用 Jackson 库从我的 Android 应用程序向 Web 服务器发送 JSON 请求,但响应始终为空。我仅使用 HttpRequest API 对其进行了测试,一切正常 - 我得到了回应。但是现在我尝试使用 Spring RestTemplate 并且我无法收到结果。这是我的代码:
protected Void doInBackground(String... params) {
LinkedHashMap<String, Object> _map = new LinkedHashMap<String, Object>();
_map.put("login", "Fred");
_map.put("password", "pass");
ObjectMapper _mapper = new ObjectMapper ();
StringWriter _writer = new StringWriter();
try {
_mapper.writeValue(_writer,_map);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String _baseURL = "https...."//Address of the server;
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> _entity = new HttpEntity<String>(_writer.toString(),requestHeaders);
RestTemplate templ = new RestTemplate();
templ.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
templ.getMessageConverters().add(new StringHttpMessageConverter());
ResponseEntity<String> _response = templ.postForEntity(_baseURL, _entity,String.class);
String _Test = _response.getBody();
所以我总是在_Test中有null。我怀疑这是因为 https 协议。RestTemplate 可以与 https 一起使用吗?
那么该代码有什么问题。如何解决这个问题?
提前致谢。我真的需要帮助!