繁体   English   中英

如何在 python 中将参数从客户端传递到服务器

[英]How to pass a parameter from client side to server in python

我正在使用flask并且flask-restx尝试创建一个协议以从另一个服务获取特定的字符串。 我想知道是否有一种方法可以将参数从另一个 function 传递到服务器端。 例如,这是我的服务器端:

from flask_restx import Api,fields,Resource
from flask import Flask
app = Flask(__name__)
api = Api(app)

parent = api.model('Parent', {
    'name': fields.String(get_answer(a,b)),
    'class': fields.String(discriminator=True)
})
@api.route('/language')
class Language(Resource):
    # @api.marshal_with(data_stream_request)
    @api.marshal_with(parent)
    @api.response(403, "Unauthorized")
    def get(self):

        return {"happy": "good"}

get_answer function 在不同的文件中:

get_answer(a,b):
  return a + b

我期望的是从一个文件中得到get_answer的结果,然后生成我的API,这样GET请求就可以拿到了。 我知道如果有一个 web 页面,我们可以使用render_template(form来获取它。但是如果我想从另一个 function 获取值怎么办?我知道我们只使用app.run()运行服务器,但是我们可以将任何值传递到服务器吗?猜测app.run(a,b)在这种情况下不应该起作用。我们肯定需要将两个参数传递到服务器。或者我们可以存储get_answer(a,b)的答案在 main 中使用ab的特定值,然后将数字传递到服务器端。但无论哪种方式都需要参数。


我测试过的一件事是将服务器包装成 function。但在我们的例子中,将 class 包装在 function 中是个好主意,因为我们有class Language(Resource):

get_answer function 在不同的文件中

然后导入并调用它

from other_file import get_answer

... 
def get(self):
    return {"answer": get_answer(2,2)}

正如另一个答案所示,如果您想使用自定义 arguments,请从请求 object 中解析它们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM