首页 > 解决方案 > 如何从同一个 flask-restplus 资源类获取和发布端点?

问题描述

我有以下从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(endpoint, self, *resource_class_args, AttributeError: 'function' object has no attribute 'as_view'

标签: pythonflaskflask-restplus

解决方案


您需要在类中使用装饰器而不是函数。

您的 API 将访问相同的端点“/患者”,该方法将确定调用哪个函数。获取、发布、放置和删除。

如果您需要不同的 API 端点,您将需要 2 个资源类,每个路径一个。


推荐阅读