所以我有一个Python库,其中包含一堆超级有用的功能。我希望能够通过RESTful接口调用此库的功能,以使该功能可用于支持套接字并希望使用它们的任何语言,应用程序或进程。
我不想将每个功能单独编码为RESTful传递,因为有数百种可用功能,并且它们都可能会发生变化。是否有符合标准的方法来公开这些功能以通过REST访问?
非常感谢任何人可以提供的任何想法,项目链接或建议:)
FR
答案 0 :(得分:3)
我在您的问题下的评论中提出的基本内容是:
main.py
from flask import Flask
from flask import request
import functions
app = Flask(__name__)
@app.route('/call/<function_name>', methods=['GET', 'POST', 'PUT', 'DELETE'])
def call_function(function_name: str):
function_to_call = getattr(functions, function_name)
body = request.json
return function_to_call(body)
app.run(host="0.0.0.0")
functions.py
def hello_world():
return "Hello world!"
def hello_name(params: dict):
name = params["name"]
return "Hello " + name
请求示例:
http://localhost:5000/call/hello_world
http://localhost:5000/call/hello_name
{
"name": "Tom"
}
答案 1 :(得分:1)
我现在正在为我们拥有的许多随机devops工具做同样的事情。它不会成为RESTful端点工作的黄金标准,但是有时您只需要快速又肮脏的东西。这是我所做的:
希望这会有所帮助。