Python请求库无法在HTTP POST上指定JSON密钥

时间:2017-10-24 14:22:29

标签: python json flask python-requests

我的REST API具有创建操作/entries(仅当存在HTTP POST时)

当我从POST应用程序执行Flask请求时:

我必须这样做

@application.route("/entries/new")
def new():
    headers = {'Authorization': session.get('auth_token')}
    postData = {'title': 'Ace of Base'}
    r = requests.post(API_ENDPOINT + "/entries", json=json.dumps(postData), headers=headers).json()

    return r

发布这些Parameters

Parameters: {"_json"=>"{\"title\": \"Ace of Base\"}", "entry"=>{}}

问题出在"_json"部分。我需要"_json"部分内的所有内容转到"entry"=>{}部分,如此

"entry"=>{\"title\": \"Ace of Base\"}

什么可能导致此问题以及如何解决?

1 个答案:

答案 0 :(得分:1)

您应该使用数据参数

@application.route("/entries/new")
def new():
    headers = {'Authorization': session.get('auth_token')}
    postData = {'title': 'Ace of Base'}
    r = requests.post(API_ENDPOINT + "/entries", data=postData, headers=headers).json()

    return r