У меня есть идея, как следует.service.py
from flask import Flask, request, jsonify
app = Flask("aaa")
def func1(arg1, arg2, arg3):
print arg1, arg2, arg3
def func2(arg4=1, arg5=2):
print arg4, arg5
def func3(arg1, arg2, arg3, arg4=1, arg5=1):
print arg1, arg2, arg3, arg4, arg5
@app.route('/api/model/args_kwargs', methods=['POST'])
def create_train_model():
"""
Create and train new model.
"""
args, kwargs = request.json
func3(*args, **kwargs)
return jsonify(success=True)
@app.route('/api/model/args', methods=['POST'])
def create_train_2():
"""
Create and train new model.
"""
args = request.json
func1(*args)
return jsonify(success=True)
@app.route('/api/model/kwargs', methods=['POST'])
def create_train_3():
"""
Create and train new model.
"""
kwargs = request.json
func2(**kwargs)
return jsonify(success=True)
app.run(host="0.0.0.0", port=9900)
client.py
import requests
import json
def test1():
resp = requests.post("http://0.0.0.0:9900/api/model/args", json=[12,3,4])
return None
def test2():
resp = requests.post("http://0.0.0.0:9900/api/model/kwargs", json={"arg4":234, "arg5":678})
return None
def test3():
resp = requests.post("http://0.0.0.0:9900/api/model/args_kwargs", json=([12,3,4], {"arg4":234, "arg5":678}))
return None
test1()
test2()
test3()