Вашему методу post
требуется 3 аргумента username, avatar, friend_code
.
Когда вы делаете api.add_resource(User, '/', '/<string:username>')
, вы передаете только один аргумент (имя пользователя). Итак, что насчет двух других (avatar & friend_code)?
Либо вы жестко закодируете их в некоторые постоянные значения, которые ваш метод post всегда может выбрать, либо используйте reqparse
для анализа их из тела полезной нагрузки.
Примерно так:
from flask_restful import Resource, Api, reqparse
parser = reqparse.RequestParser()
def post(self):
parser.add_argument('avatar', type=str)
parser.add_argument('friend_code', type=str)
args = parser.parse_args()
user = {'username': username, 'avatar': avatar,
'friend_code': friend_code}
users.append(user)
return user
Ниже приводится хорошая ссылка для начала Создание Basi c RESTful API с Flask -RESTful .