2015-10-30 7 views
2

Я создал API для операции CURD в Django REST из API-интерфейса, доступного для просмотра. Я могу просматривать/обновлять/удалять записи. Но когда я выполняю обновление через httpie, он не работает.Проблемы с тестированием API REST с httpie

Url ->http://localhost:8000/api/user/profile/1/

Результат от browser->

{ 
    "user": 3, 
    "subject": [ 
     1, 
     3, 
     4 
    ], 
    "phone": "897897897", 
    "address": "xcgsajgchagclkk" 
} 

httpie reques ->http PUT http://localhost:8000/api/user/profile/1/ user=3 subject=[1,2] phone=333 address=my

Ошибка ->

{ 
    "subject": [ 
     "Expected a list of items but got type \"unicode\"." 
    ] 
} 

Как мы можем видеть, ошибка в формате данных, отправленных в запрос, но я отправляю список в subje ct [1,2]. Итак, почему он дал ошибку.

Edit: заголовок моего запроса

HTTP/1.0 400 BAD REQUEST 
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS 
Content-Type: application/json 
Date: Fri, 30 Oct 2015 05:33:58 GMT 
Server: WSGIServer/0.1 Python/2.7.6 
Vary: Accept, Cookie 
X-Frame-Options: SAMEORIGIN 
+0

Вы должны указать, что содержание «приложения/JSON» при отправке на сервер –

+0

@BogdanIulianBursuc в URL? – saf

+0

@BogdanIulianBursuc на самом деле это json, у меня есть мой вопрос, пожалуйста, проверьте – saf

ответ

2

Как @BogdanIulianBursuc предложил в своих комментариях Httpie использовать Differnet синтаксис для представления списков.

Так правильный синтаксис будет subject:='[1,2]'

Смежные вопросы