Odin | База знаний 1С

Как выполнить POST запрос к серверу с телом JSON в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

как выполнить post запрос к серверу с телом типа строка {
"start": 0,
"length": 0,
"backFilter": "|status_id = 86697 |unit_load =false |unit_app_id =407180 |unit_objectBeanName =Item"
}



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для выполнения POST запроса к серверу с телом в формате JSON в 1С, вы можете использовать следующий код:

1C
Процедура ВыполнитьPostЗапрос()
    // URL сервера, к которому будет отправлен запрос
    URL = "http://example.com/api/endpoint"; // Замените на ваш URL

    // Создаем HTTP соединение
    Соединение = Новый HTTPСоединение(URL);
    
    // Заголовки запроса
    Заголовки = Новый Соответствие;
    Заголовки["Content-Type"] = "application/json"; // Указываем тип контента

    // Формируем тело запроса
    ТелоЗапроса = "{""start"": 0, ""length"": 0, ""backFilter"": ""|status_id = 86697 |unit_load =false |unit_app_id =407180 |unit_objectBeanName =Item""}";

    // Создаем HTTP запрос
    Запрос = Новый HTTPЗапрос("/", Заголовки);
    Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

    // Отправляем запрос и получаем ответ
    Попытка
        Ответ = Соединение.ОтправитьДляОбработки(Запрос);
        // Обрабатываем ответ
        Если Ответ.КодСостояния = 200 Тогда
            Сообщить("Запрос выполнен успешно: " + Ответ.ПолучитьТелоКакСтроку());
        Иначе
            Сообщить("Ошибка: " + Ответ.КодСостояния + " - " + Ответ.ПолучитьТелоКакСтроку());
        КонецЕсли;
    Исключение
        Сообщить("Ошибка при выполнении запроса: " + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

### Объяснение кода:
1. **Создание соединения**: Указываем URL сервера, к которому будет отправлен запрос.
2. **Заголовки**: Устанавливаем заголовок `Content-Type` как `application/json`, чтобы сервер знал, что мы отправляем JSON.
3. **Тело запроса**: Формируем строку JSON, которую мы хотим отправить.
4. **Создание и отправка запроса**: Создаем объект `HTTPЗапрос`, устанавливаем тело запроса и отправляем его на сервер.
5. **Обработка ответа**: Проверяем код состояния ответа и выводим результат.

Не забудьте заменить ` http://example.com/api/endpoint` на фактический URL вашего API.



   
ОтветитьЦитата