JSON объект POST запросом
-
Как через бас отправить такой запрос? Вот что в фидлере:
{"email":"blablabla@gmail.com","password":"blablabla","name":"blablabla","type":"blablabla","location":{"lat":50.4117,"long":4.4474,"sensor":false,"zoom":17,"name":"Charleroi, Belgium"},"birthdate":"1994-06-06"}
А именно не понятно как объект «location» правильно сформировать.
Вот скриншот форматированного json’а еще:
-
@anchorday просто скопируй в тело запроса, предварительно замени данные на свои. И поставь тип запроса json
-
@DrPrime Пробовал, получаю в ответе статус 400, и сообщение, что я отправляю пустой пост запрос.
Пробовал с другими, простыми, без вложенных объектов, запросами на этом сайте так, и тоже получал такую же ошибку, но когда составлял запрос через форму добавления параметров баса все прекрасно работало.
-
@anchorday said in JSON объект POST запросом:
получаю в ответе статус 400, и сообщение, что я отправляю пустой пост запрос.
Точнее вот что:
"error_message":"A body is mandatory for this request","error_code":"REQUEST_MISSING_BODY"
Как я ни пробую, либо это, либо бас говорит: SyntaxError: Parse error
Данные я точно подставляю правильные.
-
Пробовал составлять через форму баса вот так:
"email",[[EMAIL]],"password",[[PASSWORD]],"name",[[USERNAME]],"type","blabla","location","\u0022lat\u0022:" + [[LAT]] + ",\u0022long\u0022:" + [[LON]] + ",\u0022sensor\u0022:false,\u0022zoom\u0022:" + [[ZOOM]] + ",\u0022name\u0022:\u0022" + [[SUBLOCALITY]] + ", " + [[LOCALITY]] + "\u0022","birthdate",[[BIRTHDATE]]
Или загонять объект location в переменную и так:
"email",[[EMAIL]],"password",[[PASSWORD]],"name",[[USERNAME]],"type","blabla","location",[[JSON]],"birthdate",[[BIRTHDATE]]
так сервер хотя бы видит эти запросы и не отвечает что в них нет тела, но выдает ошибку:
{"error_message":"Given body or parameter does not have the expected format","error_code":"ARGUMENT_WRONG_FORMAT","context":"POST_ACCOUNT_VALIDATION"}
Пробовал еще как в первом варианте, но менять \u0022 на кавычки или добавлять {}, пробовал весь все тело, весь json, загонять в переменную.
Естественно всегда выставляю тип json, кодировка верная, все заголовки стоят.
Уверен на 90% в том, что данные подставляю верные, а вот в том что я правильно составляю этот запрос не уверен. Не понятно вообще как бас это отправляет.
Может есть у кого-нибудь еще какие-нибудь идеи?
-
@anchorday said:
@DrPrime Пробовал, получаю в ответе статус 400, и сообщение, что я отправляю пустой пост запрос.
Пробовал с другими, простыми, без вложенных объектов, запросами на этом сайте так, и тоже получал такую же ошибку, но когда составлял запрос через форму добавления параметров баса все прекрасно работало.
И не только на этом сайте, после того как посмотрел твой стрим, ты там об этом говорил, пробовал так пару раз с json запросами, просто скопировать json в тело, заменив данные на свои, и не разу не срабатывало, но через форму баса всегда работало. Не знаю почему так.
-
@anchorday попробуй параметром указать data, а значением - твой json
-
@DrPrime Работает! Спасибо!
Почему я до этого не додумался, я уже как только не извращался
-
@anchorday раньше работало просто скопировать, но сегодня столкнулся с такой же проблемой, посмотрел в коде модуля рекапчи пример запроса (на антигейт нужно json отправлять), и увидел что там сделано было так.
-
Все таки что-то не работает, рано я начал радоваться. Подумал, что работает потому что на верный запрос в ответ должен прийти пустой json: { } , что и произошло, но последующие запросы таким способом не работают и предидущие, которые работали составленными через форму, не работают по этому способу почему-то. В чем может быть ошибка?
-
параметром указать data, а значением - твой json
Так работает, но нужно типом содержимого указывать не «json» из предложенного, а руками ввести именно «application/json». Не знаю это особенность моего сайта или вообще.
Может кому-нибудь пригодится.
-
del
-
This post is deleted!