报错信息:Could not extract response: no suitable HttpMessageConverter found for response type [class com.example.vo.WeatherData] and content type [application/octet-stream]
这是在用restTemplate获取uri返回数据,进行数据转换的时候报错的,原来的代码如下:
@Service
public class WeatherServiceImpl implements WeatherService{
@Autowired
RestTemplate restTemplate;
String uri = "http://wthrcdn.etouch.cn/weather_mini?city=深圳";
@Override
public WeatherData getWeather() {
ResponseEntity
return weatherData.getBody();
}
}
这里无法直接转换为对象,需要先转为String,再转为自己所需对象,修改后的代码如下
@Service
public class WeatherServiceImpl implements WeatherService{
@Autowired
RestTemplate restTemplate;
String uri = "http://wthrcdn.etouch.cn/weather_mini?city=深圳";
@Override
public WeatherData getWeather() {
ResponseEntity
//使用ObjectMapper进行处理
ObjectMapper mapper = new ObjectMapper();
if(weatherData.getStatusCodeValue() == 200){
String response = weatherData.getBody();
WeatherData weatherData2 = null;
try {
weatherData2 = mapper.readValue(response, WeatherData.class);
} catch (Exception e) {
e.printStackTrace();
}
return weatherData2;
}
return null;
}
}
修改这样,运行后,请求成功