# 天气服务接口2021版 ## 统一说明 #### 统一参数说明 **所有查询指定城市天气数据的接口,都需要在参数中指明是哪一个城市。** 目前天气服务支持传入cityCode、projectId、cityName三个参数(之一)来定位城市(说明见下表)。 | 参数key | 说明 | 优先级 | 举例 | | --------- | ---------------------------- | ---------- | -------- | | cityCode | 合法数据字典城市编码,6位数字字符串 | 最高 | 110101 | | projectId | 合法数据字典项目ID,12位字符串 | 高 | Pj1101010001 | | cityName | 城市中文名,字符串 | 低 | 北京 | ## 接口说明 > > **注意:** 如未特殊说明,城市信息、dataType、time为必须传值。 > 以下接口示例中,城市信息参数使用cityName作为参数,实际接口调用时,可根据*统一参数说明*,使用cityCode或者projectId代替cityName参数作为入参。 > dataType的值为[服务介绍](/wther/wther_prod.md)中**数据类型**的类型码。 > time参数为区间值,格式为时间戳。 > > 接口所有入参及返回结果,时间字段的值均为时间戳格式,其余字段值为字符串格式。 > > **除特殊说明外,所有的查询接口入参规则,请参照[通用查询](/utils/query.md),本文档的查询入参只包含通用查询的criteria部分,查询条件目前只支持:等于,和基于time参数的比较大小** > ### 气象数据通用查询接口 简介:支持[服务介绍](/wther/wther_prod.md)中所规定**数据类型**的相关气象指标数据查询 Method:POST Header参数:Content-Type=application/json URL:http://127.0.0.1:8888/persagy-weather/Spring/MVC/unifier/dataQuery/{dataType} > dataType,数据类型码,有效值见服务介绍文档-数据类型 > 请求参数: ```json5 { "cityName":"上海", // 该参数可用cityCode或projectId代替 "time": { "$gte": 1602434380000, "$lt": 1602474380000 } } ``` 返回结果: 错误JSON示例 ```json { "result": "fail", "message": "错误信息" } ``` dataType=present,正确结果JSON示例 ```json5 { "result": "success", "message": null, "data": { "temperature": "17", "code": "天气现象编码,示例:8", "o3": "43", "visibility": "能见度示例:9.3", "...": "..." // 其余返回项见服务介绍文档-支持数据 } } ``` dataType=predictHour,正确结果JSON示例 ```json5 { "result": "success", "message": null, "data": [ { "time": 1602434380000, "text": "天气现象文字,str,示例:晴", "code": "天气现象编码,str,示例:0", "temperature": "温度,str,示例4", "...": "..." // 其余返回项见服务介绍文档-支持数据 } ] } ``` dataType=disaster,正确结果JSON示例 ```json5 { "result": "success", "message": null, "data": [ { "level": "黄色", "pubTime": "2021-01-19 06:08:39", "description": "市气象台2021年1月19日06时00分发布道路结冰黄色预警信号:预计当前至20日中午将出现道路结冰现象,请注意防范。", "title": "北京市气象台2021年1月19日06时00分发布道路结冰黄色预警信号", "type": "道路结冰" } ] } ``` 所有dataType(类型码)对应结果说明 | 类型名 | 类型码 | 入参说明 | 结果说明 | | ------------ | ------------ | ------------ | ------------ | | 实时数据 | present | time参数无效 | 见上文示例 | | 小时预报数据 | predictHour | | 见上文示例 | | 日预报数据 | predictDay | | 格式同predictHour | | 小时历史数据 | historyHour | time跨度<=31天 | 格式同predictHour | | 日历史数据 | historyDay | time跨度<3年 | 格式同predictHour | | 日统计数据 | statisticDay | time跨度<3年 | 格式同predictHour | | 灾害预警数据 | disaster | time跨度<366天 | 见上文示例 | | 日出日落数据 | sunRiseSet | time跨度<366天 | 格式同predictHour | 说明:若dataType=sunRiseSet,城市信息可以使用经纬度坐标参数代替(参数:longitude、latitude,值为小数数值) ### 天气现象图标下载 简介:获取天气现象编码对应的图标图片数据。 Method:GET URL:http://127.0.0.1:8888/persagy-weather/Spring/MVC/entrance/download/icon/weatherCode-theme-size URL说明: 1. 以HTTP-GET访问接口,接口参数在URL最后面; 2. 参数格式为weatherCode-theme-size。其中weatherCode为天气现象编码,必需;theme为图片主题,非必需,支持dark、light、classic三种;size为图标大小,非必需,支持big、small两种。 3. 接口请求示例:http://127.0.0.1:8888/persagy-weather/Spring/MVC/entrance/download/icon/5-classic-big 返回结果:数据流