原因为没有指定请求头contentType,需要在代码中指定一下
原代码:
接口报错:Content type 'application/xml;charset=UTF-8' not supported
@Autowired
private RestTemplate restTemplate;
Map<String,Object> params = new HashMap<>();
params.put("gender","gender");
params.put("age",""age);
params.put("city","city");
String url = "http://wit-user/v1/userList";
Respose<List<User>> response = restTemplate.postForObject(url, parsms, Response.class);
修改后:
正确返回数据
@Autowired
private RestTemplate restTemplate;
Map<String,Object> params = new HashMap<>();
params.put("gender","gender");
params.put("age",""age);
params.put("city","city");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
headers.set("Accept", "application/json");
HttpEntity httpEntity = new HttpEntity<>(params, headers);
String url = "http://wit-user/v1/userList";
Respose<List<User>> response = restTemplate.postForObject(url, httpEntity, Response.class);