vbondarevsky / Connector

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8
Apache License 2.0
613 stars 203 forks source link

Не поддерживаются параметры с точкой. #132

Closed vovainfo closed 6 months ago

vovainfo commented 6 months ago

Пример https://iss.moex.com/iss/securities/RU000A100WA8.json?iss.meta=off&iss.only=description&iss.json=extended

Валимся с ошибкой

Ошибка при вызове метода контекста (Свойство)
{ОбщийМодуль.КоннекторHTTP.Модуль(3396)}:ПараметрНайден = Приемник.Свойство(ЭлементИсточника.Ключ);
{ОбщийМодуль.КоннекторHTTP.Модуль(3367)}:Дополнить(ГлавныйИсточник, ДополнительныйИсточник);
{ОбщийМодуль.КоннекторHTTP.Модуль(1788)}:ОбъединенныеПараметрыЗапроса = Объединить(Скопировать(ПараметрыЗапроса), СтруктураURL.ПараметрыЗапроса);
{ОбщийМодуль.КоннекторHTTP.Модуль(1778)}:ПодготовленныйURL = ПодготовленныйURL + СобратьАдресРесурса(СтруктураURL, ПараметрыЗапроса);
{ОбщийМодуль.КоннекторHTTP.Модуль(1228)}:ПодготовленныйЗапрос.Вставить("URL", ПодготовитьURL(URL, ПараметрыЗапроса));
{ОбщийМодуль.КоннекторHTTP.Модуль(1264)}:ПодготовленныйЗапрос = ПодготовитьЗапрос(Сессия, Метод, URL, ДополнительныеПараметры);
{ОбщийМодуль.КоннекторHTTP.Модуль(255)}:Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, Параметры), ПараметрыПреобразованияJSON);
{Справочник.Облигации.Форма.ФормаЭлемента.Форма(19)}:Результат = КоннекторHTTP.GetJson(URL);
{Справочник.Облигации.Форма.ФормаЭлемента.Форма(6)}:ЗагрузитьС_MOEXНаСервере();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Задано неправильное имя атрибута структуры
[ОшибкаИспользованияВстроенногоЯзыка]

т.к. ЭлементИсточника.Ключ содержит точку.

leemuar commented 6 months ago

спасибо за репорт!

splxgf commented 6 months ago

Аналогичная проблема если параметр содержит дефис. Пример: https://api.revert.finance/v1/positions?sort=apr&page=1&age-from=10&network=mainnet&desc=true&limit=100&offset=0

alfadataby commented 6 months ago

таже проблема, если параметры передаются в виде массива (с квадратными скобками []) в строке url. Пример ".../?service[]=48&service[]=49&service[]". Т.е. когда нужно в url передать один параметр с несколькими значениями.

leemuar commented 6 months ago

@vovainfo @splxgf @alfadataby

Решено в #135 благодаря @alexandr-yang. Спасибо ему!