欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

访问项目的 API : http://localhost:8080/weather/cityId/101280601 昆

点击: 次  来源:宝鼎软件 时间:2017-10-21

原文出处: Way Lau

本文,我们将基于 Spring Boot 技能来实现一个微处事天气预报处事接口——micro-weather-basic。micro-weather-basic 的浸染是实现简朴的天气预报成果,可以按照差异的都市,查询该都市的及时天气环境。

开拓情况

  • Gradle 4.0
  • Spring Boot 1.5.6
  • Apache HttpClient 1.5.3
  • 数据来历

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

    天气数据来历为中华万年历。譬喻:

  • 通过都市名字得到天气数据 :http://wthrcdn.etouch.cn/weather_mini?city=深圳
  • 通过都市id得到天气数据:http://wthrcdn.etouch.cn/weather_mini?citykey=101280601
  • 都市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"
    }

    我们通过调查数据,来相识每个返回字段的寄义。

  • “city”: 都市名称
  • “aqi”: 氛围指数,
  • “wendu”: 及时温度
  • “date”: 日期,包括将来5天
  • “high”:最高温度
  • “low”: 最低温度
  • “fengli”: 风力
  • “fengxiang”: 风向
  • “type”: 天气范例
  • 以上数据,是我们需要的天气数据的焦点数据,可是,同时也要存眷下面两个字段:

  • “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)。其道理,我也整理到我的博客中了:

  • https://waylau.com/change-gradle-wrapper-distribution-url-to-local-file/
  • https://waylau.com/use-maven-mirrors/
  • 项目设置