Как правильно совершать вызовы между конечными точками, сохраняющими фляжку, в API фляги? - PullRequest
0 голосов
/ 25 июня 2019

Я настраиваю API REST с помощью фляги-restful.Я не нашел ни документации, ни примеров того, как будет сделан внутренний вызов между конечными точками.Иначе говоря, я хочу использовать одну из конечных точек изнутри реализации другой конечной точки.

Я мог бы воспринимать это как обычный внешний вызов другого API, но мне кажется, что я как-то совершил бы преступление против передовой практики

from flask import Flask, request
from flask_restplus import Api, Resource

app = Flask(__name__)
api = Api(app, version='1.0', title='FooTitle',
          description='FooDescription', )
ns_conf = api.namespace('FooName', description='FooDescription')


# Endpoint 1
@ns_conf.route('/endpoint1')
class MyResource(Resource):
    def get(self):
        return 'Hello '


# Endpoint 2
@ns_conf.route('/endpoint2')
@api.doc(params={'your_name': 'Your name'})
class greeting(Resource):
    def get(self):
        # Transfer request parameters to variables:
        your_name= request.args.get('your_name')
        # I WOULD LIKE TO GET THE OUTPUT OF ENDPOINT 1 here:
        hello = call_endpoint_1()
        return hello + str(your_name)

Как правильно реализовать call_endpoint_1() '?

1 Ответ

0 голосов
/ 25 июня 2019

Проще говоря: разложите общую часть в простую функцию и вызовите ее с обеих конечных точек:

def say_hello():
    return "Hello "

@ns_conf.route('/endpoint1')
class MyResource(Resource):
    def get(self):
        return say_hello()


# Endpoint 2
@ns_conf.route('/endpoint2')
@api.doc(params={'your_name': 'Your name'})
class greeting(Resource):
    def get(self):
        # Transfer request parameters to variables:
        your_name= request.args.get('your_name')
        # I WOULD LIKE TO GET THE OUTPUT OF ENDPOINT 1 here:
        hello = say_hello()
        return hello + str(your_name)
...