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. net abp core的appservice中访问httpcontext对象

    private readonly IHttpContextAccessor _httpContext; /// <summary> /// Initializes a new instan ...

  2. vim中的ctrl+s导致的“假死”、无响应、不接受输入

    有时候vim看到vim的光标在闪烁,但无法输入任何东西,最后只好结束终端了事. 这种现象,是windows用户在使用vim时经常犯的“错误”.在windows下,为了保护自己的劳动成果,ctrl+s已 ...

  3. 一个按成绩排序SQL的写法问题

    测试数据: SQL> select * from sscore; NAME       SCORE ---------- ----- aa            99 bb            ...

  4. tomcat运行模式

    Tomcat Connector的三种不同的运行模式性能相差很大 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomcat7或以下,在Linu ...

  5. 解决vshost32.exe已停止工作

    VS2015,搞二次开发遇到这个问题,这个真的很坑,都没法找到问题.然后百度到答案,将调试中的"启用Visual Studio 承载进程"的√去掉: 一开始感觉是内存的问题,后来又 ...

  6. [daily][qemu][kvm] 使用virtfs在host与guest之间共享目录

    如题. 之前我使用NFS,NFS会有同步问题.比如编译文件时候的时间同步问题,见前边的文章. 如今,我们使用高级的virtfs: 见:https://www.linux-kvm.org/page/9p ...

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

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

  8. scrollView截取指定区域的图片

    把scrollView放到一个容器里面,再截图就可以了 scrollview放到容器: UIView *lunboCarrier = [[UIView alloc] initWithFrame:CGR ...

  9. textfield内边距

    使用QMUITextField self.inputTf.textInset = UIEdgeInsetsMake(0, -6, 0, 10);

  10. Python操作Mysql数据库——多表组合查询

    前面我们介绍了单张表的查询,包括模糊查询.分组.排序.各种筛选条件等等操作,在实际应用中,查询的数据往往不止局限在一张表里,通常需要多张表在一起进行组合查询,今天我们将会对Mysql当中的多张有关联的 ...