[鱼刺-Python-2] 快速建立测试用API服务

快速建立API服务使用 flask,要先安装
先执行 python -m pip install flask
然后写个 app.py 档案
上代码! 如下:

from flask import Flask, request, jsonifyimport time, randomapp = Flask(__name__)bookStoreList = [    {"id": 1, "name": "PYTHON_DEV", "price": 100, "count":10},    {"id": 2, "name": "JAVA_DEV", "price": 200, "count":20},    {"id": 3, "name": "GOLANG_DEV", "price": 300, "count":30},    {"id": 3, "name": "C#_DEV", "price": 400, "count":40}]def _find_next_id():    return max(book["id"] for book in bookStoreList) + 1    def _find_book(name):        result = list(filter(lambda data: data.get('name')==name, bookStoreList))    if len(result) > 0 :        return {'success':True,'bookinfo':result[0]}    else :        return {'success':False,'bookinfo':None}@app.get("/bookstore/getbooks")def get_books():    return jsonify(bookStoreList)@app.post("/bookstore/buybook")def buy_book():    if request.is_json:        bookinfo = request.get_json()        print('bookinfo: ', bookinfo)        # 随机API耗费时间 1~10s        time.sleep(random.randrange(1,10))        return jsonify(_find_book(bookinfo["BookName"])), 201    return {"error": "Request must be JSON"}, 415@app.post("/bookstore/addbook")def add_book():    if request.is_json:        newbookinfo = request.get_json()        newbookinfo["id"] = _find_next_id()        bookStoreList.append(newbookinfo)        return newbookinfo, 201    return {"error": "Request must be JSON"}, 415    if __name__ == "__main__":    app.run(host="0.0.0.0", port=8321)

完成后直接执行 python app,便可以看到以下资讯
http://img2.58codes.com/2024/20141414G5pxs4zav9.png

代表API服务已经成功启动,然后就可以开始做测试,
这边我自己启动的port是 8321,这个可自行调整
改 app.run(host="0.0.0.0", port=8321) 这个就行了
里面有几只API其中一支的 curl 如下

curl --location --request POST 'http://127.0.0.1:8321/bookstore/buybook' \--header 'Content-Type: application/json' \--data-raw '{    "BookName":"PYTHON_DEV"}'

另外为了给第一篇做测试,/bookstore/buybook 里面有加 随机API耗费时间,
大概就这样,Cheer !


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章