網(wǎng)站開發(fā)的發(fā)展的前景專業(yè)提升關(guān)鍵詞排名工具
概述
zdppy_api是一款為了快速開發(fā)而生的,基于異步的,使用簡單的Python后端API接口開發(fā)框架。
本框架的目標(biāo)是讓Python后端開發(fā)變得越來越簡單,直到發(fā)現(xiàn)原來還可以更簡單!
一切都是為了提高開發(fā)效率!!!
響應(yīng)文本
服務(wù)端:
from api import resp, Api# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.text_route("/", "你好,張大鵬")])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqprint(req.get('http://127.0.0.1:8000/').text)
響應(yīng)JSON
服務(wù)端:
from api import resp, Api# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.json_route("/", {"msg": "你好,張大鵬"})])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqprint(req.get('http://127.0.0.1:8000/').json())
響應(yīng)文件
準(zhǔn)備data/test.txt文件:
a
b
c
123
服務(wù)端:
from api import resp, Api# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.dir_route("/", "data")])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqprint(req.get('http://127.0.0.1:8000/test.txt').text)
獲取查詢參數(shù)
服務(wù)端:
from api import req, resp, Apiasync def index(request):"""生成路由方法"""name = req.get_query(request, "name")return resp.json({"name": name})# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.route("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqprint(req.get('http://127.0.0.1:8000/?name=zhang大鵬').json())
獲取路徑參數(shù)
服務(wù)端:
from api import req, resp, Apiasync def index(request):"""生成路由方法"""a = req.get_path(request, "a")b = req.get_path(request, "b")c = req.get_path(request, "c")d = req.get_path(request, "d")return resp.json({"a": a, "b": b, "c": c, "d": d})# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.route("/{a}/{b:int}/{c:float}/{d:path}", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqprint(req.get('http://127.0.0.1:8000/hello/11/22.22/33/44.txt').json())
獲取請求頭參數(shù)
服務(wù)端:
from api import req, resp, Apiasync def index(request):"""生成路由方法"""token = req.get_header(request, "Token")user_agent = req.get_header(request, "User-Agent")return resp.json({"token": token, "user_agent": user_agent})# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.route("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqheaders = {"Token": "xxx","User-Agent": "abc"
}
print(req.get('http://127.0.0.1:8000/', headers=headers).json())
獲取文本類型的參數(shù)
服務(wù)器:
from api import req, resp, Apiasync def index(request):"""生成路由方法"""data = await req.get_text(request)return resp.json({"data": data})# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.post("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqheaders = {"Content-Type": "application/text"}
print(req.post('http://127.0.0.1:8000/', data="hello,world", headers=headers).json())
獲取JSON數(shù)據(jù)
服務(wù)端:
from api import req, resp, Apiasync def index(request):"""生成路由方法"""data = await req.get_json(request)return resp.json({"data": data})# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.post("/", index)])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqdata = {"name": "zhangsan", "age": 33}
print(req.post('http://127.0.0.1:8000/', data=data).json())
print(req.post('http://127.0.0.1:8000/', json=data).json())
文件上傳
服務(wù)端:
from api import req, resp, Api# 創(chuàng)建應(yīng)用
app = Api(routes=[resp.upload("/upload", "data")])if __name__ == '__main__':import uvicornuvicorn.run("server:app")
客戶端:
import reqfiles = {"file": open("server.py")}
print(req.post('http://127.0.0.1:8000/upload', files=files).json())