Поэтому у меня есть библиотека Python, которая содержит кучу супер полезных функций. Я хотел бы иметь возможность вызывать функции этой библиотеки через интерфейс RESTful, чтобы сделать функции доступными для любого языка, приложения или процесса, который поддерживает сокеты и хочет их использовать.
Я не хочу кодировать каждую функцию отдельно, как транзитную пересылку RESTful, поскольку есть сотни доступных, и все они могут быть изменены. Существует ли стандарт, совместимый со стандартами, для предоставления доступа к этим функциям через REST?
Большое спасибо за любые идеи, ссылки на проекты или советы, которые любой может дать :)
FR
То, что я предложил в комментарии по вашему вопросу, было в значительной степени таково:
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"
}
Я делаю то же самое прямо сейчас для ряда инструментов случайных удалений, которые у нас есть. Это не будет золотой стандарт работы конечной точки RESTful, но иногда вам просто нужно что-то быстрое и грязное. Вот что я сделал:
Надеюсь это поможет.