Сообщение запроса Python Ответ 400. Ошибка: поле даты обязательно для заполнения - PullRequest
0 голосов
/ 12 января 2019

У меня возникла проблема с отправкой запроса на сервер. Сервер вернул ошибку «Поле даты обязательно для заполнения». но я уже разместил дату на сервере.

ENDPOINT_URL = 'https://tash.example.com/api_v1/journal'
Header = {'Api-key': 'abc1234'}

with open('coa.csv', 'r') as csv_ledger:
    r = csv.DictReader(csv_ledger)
    data = [dict(d) for d in r]

    groups = []

    for k, g in groupby(data, lambda r: 
(r['Code'],r['Description'],r['Account_Type_ID'])):
        groups.append({
            "date": "2018-10-10",
            "name": "gfgfh",
            "code": k[0],
            "desc": k[1],
            "account_type_id": k[2],
        })

post_api = requests.post(ENDPOINT_URL, json=groups,headers=Header)

Я подозреваю, что это проблема с форматом данных, поэтому я попробовал что-то вроде json=str(groups), json=json.dumps(groups), json=groups, но это не работает

Вот мой журнал заголовков

send: b'POST /api_v1/journal HTTP/1.1\r\nHost: tash.example.com\r\nUser-Agent: python-requests/2.21.0\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\nApi-key: 7cacadf4a6b695f8c493a80133e1813d\r\nContent-Length: 29189\r\n\r\n'
send: b"[{'date': '2018-10-10', 'name': 'gfgfh', 'code': '100-0000', 'desc': 'CAPITAL', 'account_type_id': ''}]
reply: 'HTTP/1.1 400 Bad Request\r\n'
header: Date: Sat, 12 Jan 2019 04:24:24 GMT
header: Content-Type: application/json
header: Content-Length: 62
header: Connection: keep-alive
header: Set-Cookie: AWSALB=cPiO/5gjlBMagQWkUF7T17+LZjyI649y4UeWTRqq7PQg1edQPC/VLOAneiPBM+9oMI8b16MhMd/iWXWy/MyL58SPErnVwq7XnLZa6PeaMaSkxn/azGseL6Qm6e4C; Expires=Sat, 19 Jan 2019 04:24:22 GMT; Path=/
header: Server: Apache
header: Cache-Control: no-cache
header: Set-Cookie: AWSALB=cPiO/5gjlBMagQWkUF7T17+LZjyI649y4UeWTRqq7PQg1edQPC/VLOAneiPBM+9oMI8b16MhMd/iWXWy/MyL58SPErnVwq7XnLZa6PeaMaSkxn/azGseL6Qm6e4C; Expires=Sat, 19 Jan 2019 04:24:22 GMT; Path=/
header: Content-Encoding: gzip
header: Vary: Accept-Encoding
header: X-UA-Compatible: IE=Edge,chrome=1
...