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. MacTex TexStudio Configuration 配置

    在Mac上使用Latex的话主流是安装MacTex,对于IDE的选择有很多,像什么自带的TexShop,或者是TexStudio,Latexian,Texpad,Texmaker等,甚至可以直接使用一 ...

  2. 正则表达式、re模块

    正则表达式 一说规则我已经知道你很晕了,现在就让我们先来看一些实际的应用.在线测试工具 http://tool.chinaz.com/regex/ 正则表达式是用来匹配字符串非常强大的工具,在其他编程 ...

  3. 词云绘制wordcloud

    wordcloud是优秀的第三方词云展示库,该库以空格为分割线,按照单词出现的频率自动设置字号与颜色实例如下 import wordcloud#词云库 import jieba#分词库 a=open( ...

  4. HDU - 6231 K-th Number (2017CCPC哈尔滨站 二分+尺取法)

    Alice are given an array A[1..N] with N numbers. Now Alice want to build an array B by a parameter K ...

  5. easyui---layout实战

    第一步: <div id="cc" class="easyui-layout" fit=true> <div region="nor ...

  6. day2 二、编程语言、python解释器和变量

    一.编程语言分类 1.机器语言 直接用计算机能理解的二进制指令编写程序,直接控制硬件,需要了解硬件的操作细节. 2.汇编语言 用英文标签取代二进制编写程序,也是直接控制硬件,也需要了解硬件的操作细节. ...

  7. 524 (Div. 2) Masha and two friends

    Codeforces Round #524 (Div. 2) C. Masha and two friends 题目链接 题意:较为简单,初始给定这个白黑相交的格子,第一遍把坐标范围内的全部涂白,第二 ...

  8. [No000010D]Git6/9-分支管理

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  9. tfidf_CountVectorizer 与 TfidfTransformer 保存和测试

    做nlp的时候,如果用到tf-idf,sklearn中用CountVectorizer与TfidfTransformer两个类,下面对和两个类进行讲解 一.训练以及测试 CountVectorizer ...

  10. C和C指针小记(二)-注释,三字母词,编译选项

    课后的几个问题: 1) int x/*blah blah*/y; 会有什么问题? 答:编译器报错,语句中不应该有多行注释 单行注释也应该放到语句后面或者独自占一行. 2)打出下面一行字符串(包括引号) ...