package xyz.luyie.weather.service.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import xyz.luyie.weather.service.WeatherService;
import xyz.luyie.weather.vo.ResponseResult;
/**
* Author: 陆袆 >_<
* Time: 2020-08-14 11:19
*/
@Service
@Slf4j
public class WeatherServiceImpl implements WeatherService {
private final static String URL="http://wthrcdn.etouch.cn/weather_mini?city=";
@Autowired
private RestTemplate restTemplate;
@Override
public ResponseResult getCityName(String cityName) {
/**
* 1.需要cityName
* 2.需要网址 http://wthrcdn.etouch.cn/weather_mini?city=赣州
* 3.请求 一般使用httpclient,springboot通过restTemplate 来请求
* 4.获取请求的body
*/
log.info("下面开始请求第三方");
ResponseEntity<String> responseEntity = restTemplate.getForEntity(URL + cityName, String.class);
log.info("responseEntity="+responseEntity);
//获取请求的body
String responseEntityBody = responseEntity.getBody();
//把 responseEntityBody 转成 ResponseResult,通过ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
ResponseResult responseResult= null;
try {
// objectMapper.readValue(待转数据,哪个类.class);
responseResult = objectMapper.readValue(responseEntityBody, ResponseResult.class);
} catch (JsonProcessingException e) {
e.printStackTrace();
log.info("转换出了异常");
}
return responseResult;
}
}
springboot调用第三方查询天气.zip
需积分: 0 77 浏览量
更新于2020-08-14
1
收藏 24KB ZIP 举报
具体业务逻辑
1.需要cityName
2.需要网址 http://wthrcdn.etouch.cn/weather_mini?city=赣州
3.请求 一般使用httpclient,springboot通过restTemplate 来请求
4.获取请求的body
5.通过ObjectMapper把请求的body转成ResponseResult
6.objectMapper.readValue(待转数据,哪个类.class);

鞠崽23333
- 粉丝: 4330
最新资源
- h2o-tree-api-0.3.12.jar
- dax-jvm-1.4.52.jar
- timefold-solver-quarkus-devui-integration-test-1.4.0.jar
- yue-library-data-redis-Greenwich.SR1.2-javadoc.jar
- apigatewaymanagementapi-jvm-1.3.43-javadoc.jar
- bytes-1.3.0-optimized.jar
- h2o-jetty-8-3.30.1.1-javadoc.jar
- amplify-jvm-1.5.16-sources.jar
- codeguruprofiler-jvm-1.3.20-sources.jar
- cybrid-api-organization-kotlin-0.34.28-javadoc.jar
- cloudhsm-jvm-1.3.38.jar
- sparkling-water-core_2.12-3.34.0.1-1-3.0-sources.jar
- sparkling-water-repl_2.11-3.26.2-2.2-scaladoc.jar
- wisp-lease-testing-2025.05.19.004611-964f386-javadoc.jar
- bedrockruntime-jvm-1.0.59.jar
- apigatewayv2-0.19.0-beta-all.jar