RequestParser.parse_args() 无法识别参数

RequestParser.parse_args() not recognizing arguments

我正在用 flask_restful 创建一个 REST API 并想解析来自 PUT 请求的参数。下面是相关代码:

user_put_args = reqparse.RequestParser()
user_put_args.add_argument("user_id", type="str", help="user_id is needed for this user")
user_put_args.add_argument("spotify_username", type="str", help="Spotify username for the corresponding user_id")
user_put_args.add_argument("apple_music_username", type="str", help="Apple Music username for the corresponding user_id")

PUT 函数声明:

def put(self, user_id):
   args = user_put_args.parse_args()
   rest of code ...

这是放置请求:

req4 = requests.put(HEROKU_BASE + "/users/" + "test1", {"spotify_username": "test_1", "apple_music_username":"something"})
print(req4.json())

我从 put 调用中得到的响应是:

{'message': {'spotify_username': 'Spotify username for the corresponding user_id'}}

意味着它在请求解析时挂断了。

关于如何解决这个问题有什么想法吗?我正在遵循引导我进行此操作的指南,并且我的代码几乎完全相同。谢谢!

当你写 type="str" 时,reqparser 会尝试调用你的数据的 type 的参数,而这不能用 string
来完成 你不应该在那里使用引号,它只是:
user_put_args.add_argument("spotify_username", type=str, help="Spotify username for the corresponding user_id")