Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从flask中的另一个服务调用另一个service post方法_Python_Rest_Flask_Python Requests - Fatal编程技术网

Python 如何从flask中的另一个服务调用另一个service post方法

Python 如何从flask中的另一个服务调用另一个service post方法,python,rest,flask,python-requests,Python,Rest,Flask,Python Requests,我正在开发一个分离API和服务层的flask应用程序。例如,我有一个名为ServiceOne的服务和另一个名为ServiceTwo的服务。我想从serviceOne调用serviceTwo的post方法。因此serviceTwo的post方法使用flask请求读取数据,那么正确的方法是什么 #service 1: service_two = ServiceTwo() req_data = {'': '', '':''} service_two.post() #service 2: from

我正在开发一个分离API和服务层的flask应用程序。例如,我有一个名为ServiceOne的服务和另一个名为ServiceTwo的服务。我想从serviceOne调用serviceTwo的post方法。因此serviceTwo的post方法使用flask请求读取数据,那么正确的方法是什么

#service 1:

service_two = ServiceTwo()
req_data = {'': '', '':''}
service_two.post()

#service 2:
from flask import request

def post():
  req_data = request.json

注意:我想避免通过控制器层访问服务,因为据我所知,在服务层内调用控制器层不是一种好的做法。

我认为这是一种复杂的方式。您可以轻松地向post方法发送所需的参数数量。因此,request.json可以作为参数从api层发送到服务层

#service 1:

service_two = ServiceTwo()
req_data = {'': '', '':''}
service_two.post(req_data=request_data)

#service 2:
from flask import request

def post(req_data):
   ...

这回答了你的问题吗@不幸的是,ngShravil.py不是因为它通过“url”调用服务,这意味着它将首先进入控制器层,然后进入服务层,我不想这样做。如果我打电话给外部服务,那没关系,但我是从我的应用程序服务打电话的,这就是为什么我要一直避免这种情况。好吧,很抱歉,我对这种情况不太熟悉。无论如何我将投票表决这个问题,我将密切关注它。没什么好担心的。谢谢一种解决方案是:在服务类中编写另一个方法,以接受请求主体作为参数,并处理这些值。但我很好奇,我是否能用一种特殊的方法来解决它?比如,我可以自己或其他我不知道的方式来创建我的身体吗