|
POST запрос в виде JSON файла к базе 1С
| ☑ |
0
wmonref
30.01.22
✎
23:07
|
Приветствую!
Недавно начал работать с HTTP сервисами, так что не пинайте сильно...
"Простые" запросы GET и POST типа http://адресБД/ИмяБД/hs/ИмяHTTPсервиса/ИмяМетода?параметр понятно как обрабатывать.
А вот как обработать POST запрос в виде JSON файла? Т.е. сайт посылает в 1С POST запрос в виде JSON файла. Как во первых должна выглядеть строка такого запроса (на примере " http://адресБД/ИмяБД/hs/ИмяHTTPсервиса/ИмяМетода?параметр " )?
Спасибо
|
|
1
Casey1984
31.01.22
✎
02:52
|
(0) JSON файл пойдет в теле запроса.
|
|
2
DrZombi
гуру
31.01.22
✎
06:18
|
(0) Так же.
|
|
3
DrZombi
гуру
31.01.22
✎
06:19
|
Для 1С вообще фиолетово, все почти однообразно, отличается только в параметре "GET" "POST" "PUT" и т.д. :)
Кончено, может на низком уровне запросы там уникальны, но для 1С программиста все едино :)
|
|
4
wmonref
31.01.22
✎
15:10
|
(2) Значит я жду от сайта запрос типа http://адресБД/ИмяБД/hs/ИмяHTTPсервиса/ИмяМетода?параметр123
В модуле ИмяHTTPсервиса пишу стандартные действия:
Функция ОбработатьПОСТ(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
параметр123= Запрос.ПараметрыЗапроса.Получить("123");
Если параметр123 <> Неопределено Тогда
//Как прочитать JSON??
КонецЕсли;
КонецФункции
|
|
5
wmonref
31.01.22
✎
15:15
|
в (4) ошибочка...
параметр123 = Запрос.ПараметрыЗапроса.Получить("параметр123");
|
|
6
yzimin
31.01.22
✎
15:27
|
Как раз API делаю, которая принимает через POST json
Функция ЗагрузитьИнформациюPOST(Запрос)
type = Запрос.ПараметрыURL["type"];
ТекстЗапроса = Запрос.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТекстЗапроса);
Попытка
СтруктураДанных = ПрочитатьJSON(ЧтениеJSON, Истина);
ЧтениеJSON.Закрыть();
Исключение
Возврат Ответ400();
КонецПопытки;
...
|
|
7
novichok79
31.01.22
✎
16:52
|
мда.
http 1.1 - текстовый протокол, а значит вся инфа идет в текстовом виде.
обычно заголовки + \n\n + тело запроса.
попробуйте по tcp/ip соединиться и отправить запрос, сразу поймете как эта хрень работает.
json - обычная строка, вам нужно ее десериализовать в объекты при получении запроса пользака.
|
|
8
wmonref
01.02.22
✎
21:25
|
Всем спасибо! Вопрос закрыт!
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший