导航菜单

第一个 API

开始

我的故事从最简单的地方开始:上线一个 API 服务。

那时候的我还不知道,这段旅程会教会我多少东西。

起因

我一直想做一个 API 平台,让开发者可以方便地获取各种数据。

没有什么复杂的理由,就是想试试自己能不能做起来。

我理想中的 API 平台大概长这样:

生活服务
GET

天气查询 API

获取全球城市的实时天气信息,包括温度、湿度、天气状况等

/api/weather
金融服务
GET

汇率转换 API

支持 150+ 种货币的实时汇率查询和转换

/api/exchange
网络工具
GET

IP 地址查询 API

根据 IP 地址获取地理位置、运营商等信息

/api/ip
人工智能
POST

文本分析 API

情感分析、关键词提取、文本分类等 NLP 功能

/api/text/analyze
网络工具
POST

二维码生成 API

自定义样式生成二维码,支持 Logo 和颜色配置

/api/qrcode
生活服务
GET

节假日查询 API

查询中国法定节假日、调休安排、工作日信息

/api/holiday

今天,先上线第一个功能:天气查询 API

需求

很简单:开发者调用我的 API,传入城市名称,返回天气信息。

API 请求示例:

GET /api/weather?city=北京

我的设计

我没有气象数据,但发现有个免费的天气 API 可以调用。

我的 API 接收请求,去外部免费天气 API 获取数据,再返回给用户:

GET /api/weather?city=北京
200 OK application/json
{
  "city": "北京",
  "temperature": "25°C",
  "condition": "晴",
  "humidity": "60%"
}

上线!

我把 API 发布到了开发者社区,文档写得很简单:

# 天气查询 API

## 接口地址
GET https://kuaiyizhi.cn/api/weather?city=城市名

## 示例
GET https://kuaiyizhi.cn/api/weather?city=北京

## 返回
{
  "city": "北京",
  "temperature": "25°C",
  "condition": "晴",
  "humidity": "60%"
}

第一周的数据:

  • 日调用量:1000 次
  • 响应时间:200ms
  • 服务器 CPU 使用率:5%

一切正常!🎉

成本分析

每周成本:

  • 云服务器:¥10/周
  • 外部 API:免费(有调用限制)

收入:¥0/周

当前状态:亏损中 😅

我的思考

  1. 200ms 的响应时间,能接受吗?

    • 对于天气查询来说,可以接受
    • 但如果用户量增长,会变慢吗?
  2. 外部 API 有调用限制,如果超限了怎么办?

    • 免费版限制:每分钟 100 次
    • 当前使用:每分钟约 1 次
    • 还有很大余量
  3. 如何盈利?

    • 免费提供服务吸引用户?
    • 后续推出高级功能收费?

那时候的我还不知道,这些问题很快就会成为我需要面对的严峻挑战。

技术架构

部署与配置
用户请求
开发者调用 API
我的服务器
Python/PHP/Java 后端
云服务器: 1 核 2G
带宽: 1Mbps
外部天气 API
第三方数据源

搜索