|
HTTP-сервисы POST 8.3.9 | ☑ | ||
---|---|---|---|---|
0
EverGreenMouse
25.04.17
✎
14:07
|
Легко освоив GET-сервисы уперся в создание POST.
Не понимаю каким чудом его реализовать и примеров в этих ваших интернетах весьма мало именно по формированию сервиса, а не запроса. Может у кого завалялся примерчик? |
|||
1
Юрий Лазаренко
25.04.17
✎
14:26
|
(0) Сервис работает точно так же, как как и при GET. Просто параметры надо брать из тела запроса
// В зависимости от типа запроса извлечем его параметры Если ТипЗнч(Запрос.ПараметрыЗапроса) = Тип("ФиксированноеСоответствие") И Запрос.ПараметрыЗапроса.Количество() > 0 Тогда // !!!!! Здесь возникают ошибки при передаче в параметрах значений с запрешенными знаками (например, кавычкой) // Это GET-запрос, параметры хранятся в Запрос.ПараметрыЗапроса Для Каждого КлючИЗначение Из Запрос.ПараметрыЗапроса Цикл ПараметрыЗапроса.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение); КонецЦикла; Иначе // Это POST-запрос, параметры содержатся в теле запроса в виде строки ПараметрыЗапроса = Новый Соответствие; ПараметрыСтрокой = СтрЗаменить(РаскодироватьСтроку(Запрос.ПолучитьТелоКакСтроку(), СпособКодированияСтроки.КодировкаURL), "&", Символы.ПС); Для Счетчик = 1 По СтрЧислоСтрок(ПараметрыСтрокой) Цикл ТекущийПараметр = СтрЗаменить(СокрЛП(СтрПолучитьСтроку(ПараметрыСтрокой, Счетчик)), "=", Символы.ПС); Если ЗначениеЗаполнено(ТекущийПараметр) Тогда ПараметрыЗапроса.Вставить(СтрПолучитьСтроку(ТекущийПараметр, 1), СтрПолучитьСтроку(ТекущийПараметр, 2)); КонецЕсли; КонецЦикла; КонецЕсли; |
|||
2
EverGreenMouse
26.04.17
✎
12:21
|
Вроде разобрался, спасибо)
Но один вопрос пока не отпускает: я беру Запрос.ПолучитьТелоКакСтроку() Как мне получить JSON, который я туда передаю? не очень хочется воевать с РазложитьСтрокуВМассивПодстрок() |
|||
3
ГдеСобака Зарыта
26.04.17
✎
12:26
|
ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТелоЗапроса); СтруктураJSON = ПрочитатьJSON(ЧтениеJSON,, МассивПолейДата); ЧтениеJSON.Закрыть(); |
|||
4
EverGreenMouse
26.04.17
✎
12:41
|
(3) Все, вот теперь разобрался окончательно)) Всем спасибо
|
|||
5
Юрий Лазаренко
26.04.17
✎
13:00
|
(4) "Все уже придумали до нас" (с)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |