这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
第一个 API
开始
我的故事从最简单的地方开始:上线一个 API 服务。
那时候的我还不知道,这段旅程会教会我多少东西。
起因
我一直想做一个 API 平台,让开发者可以方便地获取各种数据。
没有什么复杂的理由,就是想试试自己能不能做起来。
我先把网页搭建起来:
https://www.kuaiyizhi.cn
今天,先上线第一个功能:天气查询 API。
需求
很简单:开发者调用我的 API,传入城市名称,返回天气信息。
GET
https://kuaiyizhi.cn/api/weather?city=北京200 OK application/json
{
"city": "北京",
"temperature": "25°C",
"condition": "晴",
"humidity": "60%"
}我的想法
我没有气象数据,但发现有个天气 API 可以调用。
我的 API 接收请求,去外部天气 API 获取数据,再返回给用户:
程序流程设计
MySQL 数据表设计
我需要将用户的请求日志记录下来,方便将来分析:
买设备
我在阿里云买了一台服务器和一个域名,准备先运营一年试试。
订单详情
订单编号: ALI-20240101-XXXX-XXXX
已支付
云服务器 ECS
实例规格: ecs.t6-c1m1.large
CPU / 内存: 1 核 2 GB
系统盘: 40 GB 高效云盘
带宽: 1 Mbps
地域: 华东 1(杭州)
购买时长:1 年 ¥459.00
域名注册
域名: kuaiyizhi.cn
后缀: .cn
DNS: 阿里云 DNS
购买时长:1 年 ¥39.00
实付金额 ¥498.00
部署
初始化服务器环境,我安装了这些软件:
- Nginx: 反向代理服务器,处理 HTTP 请求。
- Python: 运行我的 API 服务。
- MySQL: 存储用户数据和日志。
最终我成功部署了我的 API 服务。
上线
我把 API 发布到了开发者社区:
kuaiyizhi.cn/docs/weather
天气查询 API
接口地址
GET https://kuaiyizhi.cn/api/weather?city=城市名
示例请求
GET https://kuaiyizhi.cn/api/weather?city=北京
返回示例
配置要点
- 配置表达的是环境差异和运行参数,不是业务规则本身。
一切正常!🎉
资源占用
我去阿里云的监控平台看了看,发现我的 API 服务占用的资源非常少:
毕竟刚开始嘛,访问量不大,性能压力也不大。