本文,我们将基于 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)。其道理,我也整理到我的博客中了:
项目设置