架构师教大家如何用SpringBoot技术快速实现天气预报系统

从一个天气预报系统讲起

本节通过Spring Boot技术快速实现一个天气预报系统。

通过这个系统,一方面可以了解Spring Boot的全面用法,为后续创建微服务应用打下基础;另一方面,该系统会作为本节进行微服务架构改造的非常好的起点。

下面以前面创建的hello-world应用作为基础进行改造,成为新的应用micro-weather-basic。

开发环境

为了演示本例,需要采用如下开发环境。

. JDK8。

.Gradle 4.0。

. Spring Boot Web Starter 2.0.0.M4。

Apache HttpClient 4.5.3。

数据来源

天气的数据是天气预报的实现基础。本应用与实际的天气数据无关,理论上可以兼容多种数据来源。但为求简单,我们在网上找了一个免费、可用的天气数据接口。

  • ·天气数据来源为中华万年历。例如以下两种方式。

通过城市名称获得天气数据:
http://wthrcdn.etouch.cn/weather_mini?city=深圳。

通过城市ID获得天气数据:
http://wthrcdn.etouch.cn/weather_mini?citykey=101280601。

  • ·城市ID列表。每个城市都有一个唯一的ID作为标识,见https:/waylau.com/data/citylist.xml。

调用天气服务接口示例,这里以“深圳”城市为例,可看到如下天气数据返回。

{
"data":{
"yesterday":{
"date" :"1日星期五",
"high" :"高温33℃",
"fx":"无持续风向",
"low" :"低温26℃",
"fl":"<![CDATA[<3级]]>",
"type":"多云"
},
"city":"深圳",
"aqi" : "72",
"forecast":[
"date":"2日星期六",
"high":"高温32℃",
"fengli":"<![CDATA[<3级]1>",
"low" :"低温26℃",
"fengxiang":"无持续风向",
"type" :"阵雨"
},
"date":"3日星期天",
"high":"高温 29℃",
"fengli":"<![CDATA[5-6级]1>",
"low" :"低温26℃",
"fengxiang":"无持续风向",
"type":"大雨"
"date":"4日星期一",
"high":"高温29℃",
"fengli":"<![CDATA[3-4级]1>",
"low":"低温26℃",
"fengxiang" :"西南风",
"type":"暴雨&
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值