将 Python 类函数公开为 REST 服务

Fin*_*Red 3 python rest

所以我有一个Python库,其中包含一堆超级有用的函数。我希望能够通过 RESTful 接口调用该库的函数,以使这些函数可用于支持套接字并希望使用它们的任何语言、应用程序或进程。

我不想将每个函数单独编码为 RESTful 直通,因为有数百个可用函数,并且它们都可能会发生更改。是否有符合标准的方法来公开这些函数以便通过 REST 访问?

非常感谢任何人可以提供的任何想法、项目链接或建议:)

FR

小智 5

我在你的问题下的评论中提出的建议几乎是:


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")
Run Code Online (Sandbox Code Playgroud)

functions.py

def hello_world():
    return "Hello world!"


def hello_name(params: dict):
    name = params["name"]
    return "Hello " + name
Run Code Online (Sandbox Code Playgroud)

请求示例:

  • 得到

http://localhost:5000/call/hello_world

  • 邮政

http://localhost:5000/call/hello_name

{
  "name": "Tom"
}
Run Code Online (Sandbox Code Playgroud)