接入天气预报 API 时,先按业务已有信息选择城市名称、城市 ID、天气代号、经纬度或 IP,五种定位参数任选其一即可;生产系统更适合保存稳定标识,并把更新时间、业务状态和无天气信息分开处理。
极速数据的全国天气预报 API 文档提供“天气预报查询”和“获取城市”两个接口。天气查询地址是 https://api.jisuapi.com/weather/query,支持 GET、POST;获取城市列表使用 https://api.jisuapi.com/weather/city。两个接口都需要在服务端携带 APPKEY。
正式接入前建议先确定三个问题:
这些问题决定参数、缓存键和异常页面怎么设计。天气数据具有时间属性,不能只判断“有值”,还要让 updatetime 参与展示和缓存判断。
文档列出的五种定位参数都不是必填项,但说明中明确“以上参数任选其一”。因此,请求不能五项都空,也不应把多个相互冲突的定位值同时传入。
| 参数 | 适合场景 | 接入注意点 |
|---|---|---|
city | 搜索框、客服工具等直接接收城市名称 | 用户输入可能有同名或简称,需保留重新选择入口 |
cityid | 已使用极速数据城市列表建立映射 | 可作为内部查询键,避免每次依赖名称匹配 |
citycode | 业务已有城市天气代号 | 先确认代码体系一致,不要与其他地区编码混用 |
location | 地图、定位设备已取得经纬度 | 格式为纬度在前、经度在后,中间用英文逗号分隔 |
ip | 只有访问 IP、只需粗粒度定位 | IP 推断结果不等于用户当前精确位置,应允许手动修正 |
如果是首次接入,可先调用城市列表接口,把 cityid、parentid、citycode 和 city 保存为本地映射。用户仍可按名称搜索,但实际天气请求使用已经确认的 cityid。如果产品天然掌握坐标,例如门店或设备位置,则直接使用 location 更符合原始数据来源。
下面的示例只展示请求结构,没有发起真实调用。APPKEY 应从服务端环境变量或密钥服务读取,不要写进前端代码、仓库或日志。
GET https://api.jisuapi.com/weather/query?appkey=YOUR_APPKEY&cityid=YOUR_CITY_ID
使用城市名称时要做 UTF-8 URL 编码。官方文档给出的请求示例使用城市“安顺”:
GET https://api.jisuapi.com/weather/query?appkey=YOUR_APPKEY&city=%E5%AE%89%E9%A1%BA
后端处理可以按以下顺序进行:
读取并校验定位参数
-> 发送 HTTPS 请求并设置超时
-> 判断 HTTP 状态和响应能否解析为 JSON
-> 判断业务状态
-> 校验 result 与关键字段
-> 保存数据更新时间和本次拉取时间
不要把网络成功直接等同于天气查询成功。HTTP 200 只表示服务端返回了响应,城市不存在、没有对应天气信息或鉴权失败仍需要在 JSON 业务层判断。
文档中的当前天气字段包括 city、cityid、citycode、date、week、weather、temp、temphigh、templow、humidity、pressure、windspeed、winddirect、windpower 和 updatetime 等。接入时不必把所有字段都塞进一张业务表,可按用途分层:
updatetime、系统拉取时间、原始响应版本。温度、湿度等字段在文档中以字符串返回。若业务要比较、排序或计算,先做空值检查,再转换为明确的数值类型;展示单位应由前端模板统一添加,避免把“数值”和“带单位字符串”混存在同一字段。
updatetime 表示数据本身的更新时间,本次请求到达服务器的时间则应另存。两者不能互相替代:前者帮助用户理解天气信息新旧,后者用于排查缓存、延迟和定时任务。
天气接口文档列出了业务错误码:201 表示城市、城市 ID 和城市代号都为空,202 表示城市不存在,203 表示该城市没有天气信息,210 表示没有信息。系统错误码中,101、102、103、104 分别对应 APPKEY 不存在、已过期、无权限和超过次数限制。
建议按可恢复性处理:
201:属于参数校验问题,在请求发出前就应拦截;202:提示用户重新选择城市,或先通过城市列表完成匹配;203、210:可展示“暂未取得天气信息”,保留最近一次成功结果但明确标注旧数据时间;101 至 104:不要向终端用户展示密钥细节,应告警给运维或接口管理员;日志只记录所选参数类型、业务状态、耗时和请求追踪号即可。APPKEY 必须脱敏;经纬度和 IP 可能与用户位置有关,也不应无期限写入普通访问日志。
天气接口适合给应用、门店系统、出行提醒或内容页面提供结构化天气信息,但它不自动完成城市消歧、用户授权、灾害预警决策和业务兜底。需要精确定位时应由用户确认位置;涉及安全生产或应急处置时,应继续核对有相应职责的权威预警渠道。
截至 2026 年 8 月 11 日,极速数据天气文档仍同时提供城市名称、城市 ID、天气代号、经纬度和 IP 五类查询入口。实际发布前应重新查看接口文档,确认参数、权限、配额和返回字段是否变化。
天气预报 API 的接入重点不是把请求发出去,而是选对定位参数、保留数据更新时间,并把参数错误、城市无结果、鉴权失败和网络故障分别处理。先用城市列表建立稳定映射,再用服务端 APPKEY 调用查询接口,能让搜索、缓存和异常恢复更容易维护。


© 2015-2025 杭州极速互联科技有限公司 版权所有 浙ICP备17047587号-4 浙公网安备33010502005096 增值电信业务经营许可证:浙B2-20190875