Почему @ api.doc декоратор python flask restplus не обновляет сделанные мной изменения? - PullRequest
0 голосов
/ 26 января 2019

Я использовал Flask-Restplus для разработки своего API. Я хочу спросить, почему декоратор @api.doc не обновляет мои изменения в интерфейсе Swagger?

Вот конечная точка, которую я определяю

@api.route('/create_user')
class User(Resource):
    @api.response(201, 'User successfully created.')
    @api.doc('create a new user')
    @api.expect(_user, validate=True)
    @api.marshal_list_with(_user, envelope='data')
    def post(self):
        """Creates a new User """
        data = request.json
        return create_user(data=data)


@api.route('/get_user_list')
class UserList(Resource):
    @api.doc('list_of_registered') //even I change here,in Swagger is still not update
    @api.marshal_list_with(_user, envelope='data')
    def get(self):
        """List all registered users"""
        return get_all_users()

@api.route('/create_product')
class Product(Resource):
    @api.response(201, 'Product successfully created.')
    @api.doc('12345678') //here I state to this
    @api.expect(_product, validate=True)
    def post(self):
        """Creates a new User """
        data = request.json
        return create_product(data=data)

Итак, вот результат в моем браузере:

enter image description here

Как вы можете видеть здесь, документ не обновляется в соответствии со строкой, которую я определил в @api.doc decorator.

Так что любой может дать мне знать, почему это произошло? И как это решить?

1 Ответ

0 голосов
/ 26 января 2019

фактически документация, которую он генерирует первым из комментария, который следует непосредственно за объявлением вашей функции

, измените это:

@api.route('/create_product')
class Product(Resource):
    @api.response(201, 'Product successfully created.')
    @api.doc('12345678') //here I state to this
    @api.expect(_product, validate=True)
    def post(self):
        """Creates a new User """
        data = request.json
        return create_product(data=data)

На что:

@api.route('/create_product')
class Product(Resource):
    @api.response(201, 'Product successfully created.')
    @api.doc('12345678') //here I state to this
    @api.expect(_product, validate=True)
    def post(self):
        """Creates a new Product """
        data = request.json
        return create_product(data=data)
...