在dreamfactory API POST调用上响应400 <bad request =“”>

时间:2018-05-20 13:00:50

标签: python mongodb import dreamfactory

我正在尝试使用dreamfactory API将我的Python应用程序的请求发布到在我的localhost上运行的MongoDB。但是,我收到了400回复。与MongoDb的连接没有问题,因为post请求可以从Dreamfactory堆栈管理器正常工作。我使用的代码如下。知道这是什么我做错了。

    import requests
    import json
    import yaml
    import pandas as pd
    from datetime import date, datetime
    url="http://127.0.0.1:27017/api/v2/db/_table/test" 

    def remove_dots(obj):
        for key in obj.keys():
            new_key = key.replace(".","-")
            if new_key != key:
                obj[new_key] = obj[key]
                del obj[key]
        return obj

    json_obj_dict={'Name': 'Zara', 'Age.Key': 7, 'Class': 'First'}
    new_json = json.dumps(json_obj_dict)
    json_final=json.loads(new_json, object_hook=remove_dots)
    json_final={"resource":[json_final]}
    headers = {"Content-Type": "application/json", "X-DreamFactory-API-Key":"36fda24fe5588fa4285ac6c6c2fdfbdb6b6bc9834649774c9bf777f706d05a88" }
    r = requests.post(url, headers=headers,data=json.dumps(json_final))

1 个答案:

答案 0 :(得分:0)

与您传递的API密钥关联的角色是否具有正确的特权?换句话说,如果您没有分配默认角色,则很可能获得400,因为您没有在标头中传递会话令牌(JWT)和API密钥。如果您已分配默认角色以允许请求的动词(GET,POST等)调用,则可以通过JWT传递API密钥。

http://wiki.dreamfactory.com/DreamFactory/Troubleshooting#Common_Errors http://wiki.dreamfactory.com/DreamFactory/Tutorials/Setting_up_application_default_role http://wiki.dreamfactory.com/DreamFactory/Features/Auth#Authentication