本文,我们将基于 Spring Boot 技能来实现一个微处事天气预报处事接口——micro-weather-basic。micro-weather-basic 的浸染是实现简朴的天气预报成果,可以按照差异的都市,查询该都市的及时天气环境。
开拓情况
数据来历
理论上,天气的数据是天气预报的实现基本。本应用与实际的天气数据无关,理论上,软件开发,可以兼容多种数据来历。但为求简朴,我们在网上找了一个免费、可用的天气数据接口。
天气数据来历为中华万年历。譬喻:
都市ID列表。每个都市都有一个独一的ID作为标识。见 http://cj.weather.com.cn/support/Detail.aspx?id=51837fba1b35fe0f8411b6df 可能 http://mobile.weather.com.cn/js/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级]]>",
"low": "低温 26℃",
"fengxiang": "无一连风向",
"type": "阵雨"
},
{
"date": "3日礼拜天",
"high": "高温 29℃",
"fengli": "<![CDATA[5-6级]]>",
"low": "低温 26℃",
"fengxiang": "无一连风向",
"type": "大雨"
},
{
"date": "4日礼拜一",
"high": "高温 29℃",
"fengli": "<![CDATA[3-4级]]>",
"low": "低温 26℃",
"fengxiang": "西南风",
"type": "暴雨"
},
{
"date": "5日礼拜二",
"high": "高温 31℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 27℃",
"fengxiang": "无一连风向",
"type": "阵雨"
},
{
"date": "6日礼拜三",
"high": "高温 32℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 27℃",
"fengxiang": "无一连风向",
"type": "阵雨"
}
],
"ganmao": "风较大,阴冷湿润,较易产生伤风,体质较弱的伴侣请留意适当防护。",
"wendu": "29"
},
"status": 1000,
"desc": "OK"
}
我们通过调查数据,来相识每个返回字段的寄义。
以上数据,是我们需要的天气数据的焦点数据,可是,同时也要存眷下面两个字段:
重点存眷返回值不是“1000”的环境,说明,这个接口挪用异常了。
初始化一个 Spring Boot 项目
初始化一个 Spring Boot 项目 micro-weather-basic,该项目可以直接在我们之前章节课程中的 basic-gradle 项目基本举办修改。同时,为了优化项目标构建速度,我们对Maven中央客栈地点和 Gradle Wrapper 地点做了调解。个中细节暂且不表,读者可以自行参阅源码,图纸加密,软件开发,可能进修笔者所著的《Spring Boot 教程》(https://github.com/waylau/spring-boot-tutorial)。其道理,我也整理到我的博客中了:
项目设置