启动程序并测试
使用 python3 main.py
,运行我们的服务器和 API :
* Serving Flask app 'main' (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on all addresses (0.0.0.0) WARNING: This is a development server. Do not use it in a production deployment. * Running on http://127.0.0.1:8000 * Running on http://10.26.4.188:8000 (Press CTRL+C to quit)
为了方便本文创建的所有 API 的测试,使用到 Apifox 作为接口测试工具:
网络异常,图片无法展示
|
GET 获取所有游戏测试
访问 http://127.0.0.1:8000/games
。返回 200 OK,但是目前数据库中没有游戏,所以返回空 JSON 字符串:
网络异常,图片无法展示
|
POST 新增一个游戏测试
因为游戏 id 是自增的,所以只需要往外面的服务器传入 name, price 和 rate:
网络异常,图片无法展示
|
服务器后台显示如下:
127.0.0.1 - - [16/Jun/2022 14:51:05] "POST /game HTTP/1.1" 200 -
PUT 修改游戏内容测试
查看我们当前的所有的游戏内容:
网络异常,图片无法展示
|
然后将 LOL 的名字改为 英雄联盟,此时我们需要传入四个参数:id,name, price, rate,因为要根据 id 来找到我们想要更改的那个游戏:
{ "id": 2, "name": "英雄联盟", "price": 1, "rate": 99 }
测试成功如下:
网络异常,图片无法展示
|
GET 获取单个游戏内容测试
为了检查刚刚针对 id 为 2 的游戏是否更名成功,我们可以传入http://127.0.0.1:8000/game/2
路径:
网络异常,图片无法展示
|
可以看到,PUT 和当前的 GET 请求都是 OK 的。
DELETE 删除游戏测试
最后,就来到我们的删除环节,把 id 为 3 的游戏内容删除:
网络异常,图片无法展示
|
可以看到删除成功,我们的 API 测试是完全 OK 的
网络异常,图片无法展示
|
总结
最后,又到了本文需要做总结的时候了。
本篇教程利用 Python、SQLite3、Flask 实现了一个简单的游戏 Rest API 功能,通过在 Flask 中处理传入的 HTTP 的四大请求:GET、POST、PUT、DELETE,实现了最基本的增删改查功能。
最后利用 Apifox 作为我们的接口测试工具,完整的体验了一个简易 API 开发的流程。