HTTP接口设计文档

此文档为开发HTTP接口的设计文档,目前用于提供天气查询的相关接口。

测试的时候使用

URL=http://www.dennisthink.com/test/api/weather/v1/

正式使用的时候

URL=http://www.dennisthink.com/api/weather/v1/

1 获取服务版本接口

GET
http://www.dennisthink.com/api/weather/v1/get_version

请求的json(无)

返回的json

{
"code": 0,
"message": "SUCCEED",
"body": {
"version": "0.1.0"
}
}

2 根据编号查询天气

GET
URL: http://www.dennisthink.com/api/weather/v1/get_weather_by_city_code?token=1234567890ABCDEF&&city_code=10029111810&&date=2018-03-01

请求参数

token:向我申请
city_code:城市编号
date:日期

返回的json:

{
"code": 0,
"message": "SUCCEED",
"body": {
"city_code": "10029111810",
"city_name": "番禺",
"weather": "小雨",
"high_temperature": "26℃",
"low_temperature": "17℃",
"air_quality": "小雨",
"sun_up": "06:37",
"sun_down": "18:35"
}
}

3 根据名称查询天气

GET
URL: http://www.dennisthink.com/api/weather/v1/get_weather_by_city_name?token=1234567890ABCDEF&&city_name=海淀&&date=2018-03-01

请求的json

token:向我申请
city_name:城市名称,目前仅支持中文
date:日期

返回的json:

{
"code": 0,
"message": "SUCCEED",
"body": {
"city_code": "10011111410",
"city_name": "海淀",
"weather": "晴转多云转多云转晴",
"high_temperature": "10℃",
"low_temperature": "1℃",
"air_quality": "晴转多云转多云转晴",
"sun_up": "06:33",
"sun_down": "18:17"
}
}

4 获取城市编号

GET
URL: http://www.dennisthink.com/api/weather/v1/get_city_code?token=1234567890ABCDEF&&city_name=朝阳

请求的json

token:向我申请
city_name:城市名称,目前仅支持中文

返回的json:

{
"code": 0,
"message": "SUCCEED",
"body": [
{
"city_code": "10011111110",
"city_name": "",
"country": "中国",
"province": "北京市",
"city": "市辖区",
"county": "朝阳区",
"addr": "朝阳"
},
{
"city_code": "10016201417",
"city_name": "",
"country": "中国",
"province": "辽宁省",
"city": "辽阳市",
"county": "朝阳市",
"addr": "朝阳县"
},
{
"city_code": "10017111410",
"city_name": "",
"country": "中国",
"province": "吉林省",
"city": "长春市",
"county": "朝阳区",
"addr": "朝阳"
}
]
}

5 获取天气建议

GET
URL: http://www.dennisthink.com/api/weather/v1/get_weather_suggestion_by_city_code?token=1234567890ABCDEF&&city_code=10028201517&&date=2018-03-01

请求的json

token:向我申请
city_code:城市编号
date:日期

返回的json:

{
"code": 0,
"message": "SUCCEED",
"body": {
"city_code": "10028201517",
"city_name": "",
"ultra_degree": "最弱",
"ultra_detail": "辐射弱,涂擦SPF8-12防晒护肤品。",
"cold_degree": "较易发",
"cold_detail": "天凉,湿度大,较易感冒。",
"clothes_degree": "较舒适",
"clothes_detail": "建议穿薄外套或牛仔裤等服装。",
"car_wash_degree": "不宜",
"car_wash_detail": "有雨,雨水和泥水会弄脏爱车。",
"air_fouling_degree": "良",
"air_fouling_detail": "气象条件有利于空气污染物扩散。"
}
}

6 获取小时的详细天气

GET
URL: http://www.dennisthink.com/api/weather/v1/get_hour_detail_by_city_code?token=1234567890ABCDEF&&city_code=10028201512&&date=2018-03-01&&hour=1

请求的json

token:向我申请
city_code:城市编号
date:日期
hour:小时(24小时制)

返回的json:

{
"code": 0,
"message": "SUCCEED",
"body": {
"hour": "1",
"weather": "",
"air_quality": "",
"temperature": "12",
"relative_humidity": "96",
"precipitation": "0.0",
"wind_direction": "西北风",
"wind_power": "0"
}
}

7 获取某天的小时天气详情

GET
URL: http://www.dennisthink.com/api/weather/v1/get_today_detail_by_city_code?token=1234567890ABCDEF&&city_code=10010101010&&date=2018-01-01

请求的json

token:向我申请
city_code:城市编号
date:日期

返回的json:

{
"code": 0,
"message": "Succeed",
"body":
{
"city_code": "1010101100",
"city_name": "朝阳",
"date":"",
"detail":[
{
"hour":"01",
"weather":"天气",
"air_quality":"空气质量",
"temperature":"温度",
"relative_humidity":"相对湿度",
"precipitation":"降水",
"wind_direction":"风向",
"wind_power":"风力"
},
{
"hour":"02",
"weather":"天气",
"air_quality":"空气质量",
"temperature":"温度",
"relative_humidity":"相对湿度",
"precipitation":"降水",
"wind_direction":"风向",
"wind_power":"风力"
}
]
}
}

下一个阶段的API

8.邮件订阅

POST
URL: http://www.dennisthink.com/api/weather/v1/create_daily_weather_email_subscription

提交的json

{
"email": "xxx@yyy.com",
"city_code": ""
}

返回的json

{
"code": 0,
"message": "succeed"
}

9.取消订阅

POST
URL: http://www.dennisthink.com/api/weather/v1/remove_daily_weather_email_subscription

提交的json

{
"email": "xxx@yyy.com",
"city_code": ""
}

返回的json

{
"code": 0,
"message": "succeed"
}

10.获取订阅列表

POST
URL: http://www.dennisthink.com/api/weather/v1/get_daily_weather_email_subscription_list

提交的json

{
"email": "xxx@yyy.com",http://www.dennisthink.com/api/weather/v1/get_weather_by_city_code?token=1243234234&&city_code=100000000&&date=2018-01-01
}

返回的json

{
"code": 0,
"message": "succeed",
"body": {
"city_code_list": [
{
"city_code": "",
"city_name": ""
},
{
"city_code": "",
"city_name": ""
}
]
}
}

天气服务API文档 第1版的更多相关文章

  1. 微服务·API文档

    阅文时长 | 3.92分钟 字数统计 | 2754.05字符 主要内容 | 1.什么是API文档 2.API文档的使用 3.声明与参考资料 『微服务·API文档』 编写人 | SCscHero 编写时 ...

  2. JDK8 API文档

    API 文档 java SE 8 API 文档 jdk-8-apidocs 在线版 java SE 目录 java SE 6 API文档 Java Platform Standard Edition ...

  3. 必应地图api文档,微软必应地图web开发版详解,可以在国内使用国外地图

    最近,公司项目要求在页面中嵌入地图,需求还算简单,但是由于必须具备响应式(主要是pc和移动端),而且由于公司业务是全球性的,要支持国外地点搜索.考虑到百度,腾讯,高德等等国内地图无法显示国外数据,谷歌 ...

  4. 添加swagger api文档到node服务

    swagger,一款api测试工具,详细介绍参考官网:http://swagger.io/ ,这里主要记录下怎么将swagger api应用到我们的node服务中: 1.任意新建node api项目, ...

  5. 将html版API文档转换成chm格式的API文档

    文章完全转载自: https://blog.csdn.net/u012557538/article/details/42089277 将html版API文档转换成chm格式的API文档并不是一件难事, ...

  6. GrapeCity Documents (服务端文档API组件) V3.0 正式发布

    近日,葡萄城GrapeCity Documents(服务端文档API组件)V3.0 正式发布! 该版本针对 Excel 文档.PDF 文档和 Word 文档的 API 全面更新,加入了用于生成 Exc ...

  7. 微服务如何聚合 API 文档?这波秀~

    今天这篇文章介绍一下微服务如何聚合Swagger实现接口文档管理. 文章目录如下: 为什么需要聚合? 微服务模块众多,如果不聚合文档,则访问每个服务的API文档都需要单独访问一个Swagger UI界 ...

  8. 微服务系列之Api文档 swagger整合

    1.前言 微服务架构随之而来的前后端彻底分离,且服务众多,无论是前后端对接亦或是产品.运营翻看,一个现代化.规范化.可视化.可尝试的文档是多么重要,所以我们这节就说说swagger. Swagger是 ...

  9. 浅析如何在Nancy中使用Swagger生成API文档

    前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善一下这个Document,这篇引用了当前流行的Swagger, ...

随机推荐

  1. 学习vue 2.x源码笔记

    1.响应式原理: 核心:Object.defineProperty,用法如下: var obj1 = {}; var initValue = 'hello'; Object.definePropert ...

  2. 微信小程序获取到Openid

    前台代码片段 onLoad: function () { wx.login({ success(res) { console.log('code: '+res.code) if (res.code) ...

  3. CodeForces - 748E (枚举+脑洞)

    E. Santa Claus and Tangerines time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  4. J - MANAGER(2.4.5)

    J - MANAGER(2.4.5) Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:10000KB ...

  5. WPF .NET 4.0 OpenClipboard 失败 (异常来自 HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN)) BUG解决

    在项目 App.xaml 文件下  => Application 节点=> 添加  DispatcherUnhandledException="Application_Dispa ...

  6. 2018GIAC全球互联网架构大会上海站最新日程抢先看!

    2018年11月23-24日,为期两天的 GIAC全球互联网架构师大会将在上海拉开帷幕.GIAC全球互联网架构大会是由msup和高可用架构技术社区联合举办的面向架构师.技术负责人及高端技术从业人员的年 ...

  7. hdfs 操作 入门api

    获取分布式文件系统 // 获取文件系统 @Test public void getFileSystem() throws Exception{ Configuration configuration ...

  8. Java 输入/输出——处理流(ObjectIO)

    Object流:直接将Object流写入或读出. TestObjectIO.java transient关键字(英文名:透明的,可以用来修饰成员变量(实例变量),transient修饰的成员变量(实例 ...

  9. [redhat][centos] 让不同小版本的CentOS7使用相同的内核版本

    背景: CentOS7有定期的小版本发布,即官网释出的ISO,是带着小版本号的.CentOS7可以使用平滑升级,从这些小版本号中升上去. 但是并不是每一次的更新,都在释出的ISO中,这样的话,一台既有 ...

  10. [administrative][archlinux][netctl][wpa_supplicant] 查看WIFI链接信息

    当使用 netctl + wpa_supplicant的时候,环境里同时存在好多个WIFI,而我同时有配置了他们的密钥信息在配置文件中. 那么我该如何查看,我当前链接到了哪个WIFI上? /home/ ...