diff --git a/main.cpython-310.pyc b/main.cpython-310.pyc new file mode 100644 index 0000000..6926f00 Binary files /dev/null and b/main.cpython-310.pyc differ diff --git a/main.py b/main.py new file mode 100644 index 0000000..e0f8166 --- /dev/null +++ b/main.py @@ -0,0 +1,32 @@ +from fastapi import FastAPI,Response +from product_api import GoodsAPI +from order_api import OrderAPI +from fastapi.middleware.cors import CORSMiddleware +from midlleware import * +import time +app = FastAPI() +app.include_router(GoodsAPI,tags=['商品资源相关接口']) +app.include_router(OrderAPI,tags=['订单资源相关接口']) + +# from fastapi.middleware.cors import CORSMiddleware +app.add_middleware( + CORSMiddleware, + allow_origins=['*'], + allow_credentials=True, + allow_methods=['*'], + allow_headers=['*'] +) +# import time +# from midlleware import * +# @app.get('/middleware') +# def get_middl(): +# return '获取信息' +# @app.post('/middleware') +# def post_middl1(): +# return '新增信息' +app.middleware('http')(middl) +app.middleware('http')(middl1) + +if __name__=='__main__': + import uvicorn + uvicorn.run('main:app',host='127.0.0.1',port=12346) diff --git a/midlleware.py b/midlleware.py new file mode 100644 index 0000000..c7b1a4d --- /dev/null +++ b/midlleware.py @@ -0,0 +1,19 @@ +import time +from fastapi import FastAPI, Response +app = FastAPI() +@app.middleware('http') +async def middl(req,next): + print('获取客户端的请求地址',req.client.host) + if req.client.host not in ['192.168.1.26','192.168.1.40','192.168.1.51']: + r = await next(req) + return r + else: + return Response(content='不可访问') + +@app.middleware('http') +async def middl1(req,next): + a=time.time() + r = await next(req) + b=time.time() + print(f'执行的时间是{b-a}') + return r diff --git a/order_api.py b/order_api.py new file mode 100644 index 0000000..1877b25 --- /dev/null +++ b/order_api.py @@ -0,0 +1,10 @@ +# 订单 +from fastapi import APIRouter +OrderAPI=APIRouter() +@OrderAPI.get('/orders',summary='获取订单信息') +def get_orders(): + return '获取orders' + +@OrderAPI.post('/orders',summary='新增订单信息') +def post_orders(): + return '新增orders' \ No newline at end of file diff --git a/product_api.py b/product_api.py new file mode 100644 index 0000000..fa1cc2f --- /dev/null +++ b/product_api.py @@ -0,0 +1,10 @@ +# 商品对象 +from fastapi import APIRouter +GoodsAPI=APIRouter() +@GoodsAPI.get('/goods',summary='获取商品信息') +def get_goods(): + return '获取goods' + +@GoodsAPI.post('/goods',summary='新增商品信息') +def post_goods(): + return '新增goods' \ No newline at end of file