api.http Формирование запросов к JSON сервисам

  • api.http.postJSON(url, data)

    api.http.postJSON(url, data, headers)

    JSON-запрос к внешнему сервису методом HTTP (POST).

    Метод ожидает ответ в формате JSON от внешнего сервиса. Максимальное время ожидания ответа от ресурса — 5 сек. Ожидаемая кодировка содержимого — UTF-8.

    Параметры:

    • url — адрес ресурса. URL должен быть в URL-закодированном виде;
    • data — ассоциативный список параметров запроса, которые передаются в теле запроса, преобразуясь в JSON перед отправкой. Допускаются параметры типов: String, Integer (Int), Float, Double, Boolean;
    • headers — заголовки запроса (Map<String, String>), если заголовков нет, то null.

    Возвращает:

    • Ассоциативный список содержащий JSON-данные ответа сервиса.
    • Если сервер ответил строкой {'test':'done'}, то метод вернет ассоциативный список следующего содержания ['test':'done'].
    • Если сервер ответил строкой [{"test":"done"}], то метод вернет ассоциативный список следующего содержания [0:['test':'done']].

    Пример 1. В теле запроса будет передана строка {key:value}:

    api.http.postJSON('http://ya.ru', ['key':'value'])

    Пример 2. В теле запроса будет передана строка {key:value}. В заголовке запроса будет передана строка {key:value}:

    api.http.postJSON('http://ya.ru', ['key':'value'], ['key': "value])

  • api.http.putJSON(url, data, headers)

    JSON-запрос к внешнему сервису, методом HTTP (PUT).

    Метод ожидает ответ в формате JSON от внешнего сервиса. Максимальное время ожидания ответа от ресурса — 5 сек. Ожидаемая кодировка содержимого — UTF-8.

    Параметры:

    • url — адрес ресурса. URL должен быть в URL-закодированном виде;
    • data — ассоциативный список параметров запроса, которые передаются в теле запроса, преобразуясь в JSON перед отправкой. Допускаются параметры типов: String, Integer, Float, Double, Boolean;
    • headers — ассоциативный список заголовков запроса (Map<String, String>), если заголовков нет, то null.

    Возвращает:

    • Ассоциативный список содержащий JSON-данные ответа сервиса.
    • Если сервер ответил строкой {'test':'done'}, то метод вернет ассоциативный список следующего содержания ['test':'done'].
    • Если сервер ответил строкой [{"test":"done"}], то метод вернет ассоциативный список следующего содержания [0:['test':'done']].

    Пример. В теле запроса будет передана строка {key:value}:

    api.http.putJSON('http://ya.ru', ['key':'value'], null)

  • api.http.getJSON(url)

    api.http.getJSON(url, headers)

    Запрос к внешнему сервису, методом HTTP (GET).

    Метод ожидает ответ в формате JSON от внешнего сервиса. Максимальное время ожидания ответа от ресурса — 5 сек. Ожидаемая кодировка содержимого — UTF-8.

    Параметры:

    • url — адрес ресурса. URL должен быть в URL-закодированном виде;
    • headers — заголовки запроса (Map<String, String>), если заголовков нет, то null.

    Возвращает:

    • Ассоциативный список содержащий JSON-данные ответа сервиса.
    • Если сервер ответил строкой {'test':'done'}, то метод вернет ассоциативный список следующего содержания ['test':'done'].
    • Если сервер ответил строкой [{"test":"done"}], то метод вернет ассоциативный список следующего содержания [0:['test':'done']].

    Пример:

    api.http.getJSON('http://ip.jsontest.com')

  • api.http.patchJSON(url, data, headers)

    Запрос к внешнему сервису, методом HTTP (PATCH).

    Параметры:

    • url — адрес ресурса. URL должен быть в URL-закодированном виде;
    • data — ассоциативный список параметров запроса, которые передаются в теле запроса, преобразуясь в JSON перед отправкой. Допускаются параметры типов: String, Integer, Float, Double, Boolean;
    • headers — заголовки запроса (Map<String, String>), если заголовков нет, то null.

    Возвращает:

    • Ассоциативный список содержащий JSON-данные ответа сервиса.
    • Если сервер ответил строкой {'test':'done'}, то метод вернет ассоциативный список следующего содержания ['test':'done'].
    • Если сервер ответил строкой [{"test":"done"}], то метод вернет ассоциативный список следующего содержания [0:['test':'done']].

    Пример. В заголовке запроса будет передана строка {key:value}. В заголовке запроса будет передана строка {key:value}:

    api.http.patchJSON('http://ip.jsontest.com', ['key': "value], ['key': "value])

  • api.http.deleteJSON(url, headers)

    Запрос к внешнему сервису, методом HTTP (DELETE).

    Параметры:

    • url — адрес ресурса. URL должен быть в URL-закодированном виде;
    • headers — заголовки запроса (Map<String, String>), если заголовков нет, то null.

    Возвращает:

    • Ассоциативный список содержащий JSON-данные ответа сервиса.
    • Если сервер ответил строкой {'test':'done'}, то метод вернет ассоциативный список следующего содержания ['test':'done'].
    • Если сервер ответил строкой [{"test":"done"}], то метод вернет ассоциативный список следующего содержания [0:['test':'done']].

    Пример. В заголовке запроса будет передана строка {key:value}:

    api.http.deleteJSON('http://ip.jsontest.com', ['key': "value], ['key': "value])

  • api.http.createHttpBuilderClient(url)

    Создает HttpBuilder с учетом доверенных сертификатов из локального хранилища и из cacerts.

    Параметр:

    • url — адрес ресурса. URL должен быть в URL-закодированном виде.

    Возвращает HttpBuilder для работы с http сервером.

    Пример:

    Copy
    def httpClient = api.http.createHttpBuilderClient("https://vc.sd.naumen.ru/");
    httpClient.get(
    contentType : '*/*'
    )