Как получить и отправить конечную точку из того же класса ресурсов flask-restplus Resource? - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть следующий класс, который наследуется от flask-restplus.Resource.

class Patient(Resource):
    """ Patient endpoint."""
    @clinic_api_ns.route("/patient/add/")
    def post(self):
        # TODO: add a patient.
        return {}

    @clinc_api_ns.route("/patient/<string:name>")
    def get(self, name):
        # TODO: get a patient record
        return {}   

Я хочу достичь 2 конечных точек из вышеперечисленного, но он не работает, выдает ошибку:

/ site-packages / flask_restplus / api.py ", строка 287, в _register_view resource_func = self.output (resource.as_view (конечная точка, self, * resource_class_args, AttributeError: у объекта 'function' нет атрибута 'as_view'

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Вам нужно использовать декораторы в классе вместо функций.

Ваш API достигнет той же конечной точки "/ пациент", и метод определит, какая функция вызывается.Получить, опубликовать, поместить и удалить.

Если вам нужны разные конечные точки API, вам потребуется 2 класса ресурсов, по одному для каждого пути.

0 голосов
/ 25 декабря 2018

Насколько я понимаю, .route() декораторы предназначены для использования только в Resource классах, а не в их методах.Вы должны определить два отдельных ресурса - подобно тому, как Todo и TodoList определены в полном примере в документах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...