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. 10.22crm

    2018-10-23 08:28:41 由于昨晚上断网,所以今天早上补更一下 越努力,越幸运!永远不要高估自己! crm老师就讲三四天,还有明后两天! 主要是讲一些基本使用,自定义配置陪一些东西! 主 ...

  2. day_5.5 单例

    2018-5-5 15:00:25 单例 : 就是对象只有一个 ''' class main(object): __instance = None def __new__(cls,): if cls. ...

  3. Lucene.net(4.8.0) 学习问题记录一:分词器Analyzer的构造和内部成员ReuseStategy

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  4. PHP利用反射根据类名反向寻找类所在文件

    有时候分析源码时,会被博大精深的层层代码搞得晕头转向,不知道类是定义在哪个文件里的,有时候IDE所提供的方法声明未必准确.在这种情况下,我们可以利用反射找到类所在的文件. 在你发现实例化类的地方(例如 ...

  5. 使用Zookeeper命令的简单操作步骤

    (1) 使用ls命令查看当前Zookeeper中所包含的内容:ls / [zk: localhost:2181(CONNECTED) 1] ls / [zookeeper] [zk: localhos ...

  6. 业界微服务楷模Netflix是这样构建微服务技术架构的

    1. 如不考虑组织架构,直接切入技术架构(很多架构师的通病),则失败风险巨大. https://mp.weixin.qq.com/s/C8Rdz9wFtrBKfxPRzf0OBQ

  7. python多线程相关知识点

    1. 信号量 信号机维护着一个计数器,指定可同时访问资源或者进入临界区的线程数.每次有一个线程获得信号机时,计数器-1.若计数器为0,其他线程就停止访问信号机 Semphore,是一种带计数的线程同步 ...

  8. LeetCode 226 Invert Binary Tree 解题报告

    题目要求 Invert a binary tree. 题目分析及思路 给定一棵二叉树,要求每一层的结点逆序.可以使用递归的思想将左右子树互换. python代码 # Definition for a ...

  9. LeetCode 557 Reverse Words in a String III 解题报告

    题目要求 Given a string, you need to reverse the order of characters in each word within a sentence whil ...

  10. 2018/04/14 理解oAuth2.0

    最近都近没有更新博客了,卡在 oAuth 上了. 之前公司做统一身份的认证,不了解 oAuth 的我在这卡了两天. 于是决定仔细研究原理,理论指导实践. -- 什么是 oAuth ? 简单来说 oAu ...