初始化指标函数接口

This commit is contained in:
王思川 2022-09-26 00:02:17 +08:00
parent bd2d00827c
commit 964e390553
6 changed files with 49 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.idea

View File

@ -0,0 +1,9 @@
from pydantic import BaseModel
class OperatingProfitRatio(BaseModel):
the_total_profit: float
operating_income: float
def exec(self):
return self.the_total_profit/self.operating_income

0
MyFunc/__init__.py Normal file
View File

26
main.py Normal file
View File

@ -0,0 +1,26 @@
import json
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
func_name: str
func_args: str
app = FastAPI()
@app.post("/api/functions/")
async def root(item: Item):
func_name = item.func_name
func_args = json.loads(json.dumps(eval(item.func_args)))
str1 = "from MyFunc.{} import {}".format(func_name, func_name)
str2 = "{}(**func_args).exec()".format(func_name)
exec(str1)
result = eval(str2)
return {"info": "success", "result": result}

2
requirements.txt Normal file
View File

@ -0,0 +1,2 @@
fastapi~=0.85.0
pydantic~=1.10.2

11
test_main.http Normal file
View File

@ -0,0 +1,11 @@
# Test your FastAPI endpoints
GET http://127.0.0.1:8000/
Accept: application/json
###
GET http://127.0.0.1:8000/hello/User
Accept: application/json
###