Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdemyanov/d172736ac4509370343c8cab8030eae4 to your computer and use it in GitHub Desktop.
Save mdemyanov/d172736ac4509370343c8cab8030eae4 to your computer and use it in GitHub Desktop.
Пример вызова кастомного обработчика REST запросов с передачей параметров в формате JSON для платформы Naumen SMP и ITSM 365
/*! UTF8 */
//Автор: mdemyanov
//Дата создания: 2019-03-06
//Код:
//Назначение:
/**
* Передача JSON массива в теле запроса
*/
//Версия: 4.8.*
//Категория:
import groovy.json.JsonOutput
//Параметры------------------------------------------------------
//Функции--------------------------------------------------------
/**
* Вывести в лог принятый массив с данными
* @param requestContent тело POST- запроса в формате JSON (автоматически конвертируется в Map)
* @return массив с ответом метода в формате Map (автоматически конвертируется в JSON)
*/
String getJsonData(requestContent){
logger.info('---START REST EXEC---')
requestContent.each {key, value->
logger.info("Key: $key, value: ${value.toString()}")
}
logger.info('---END REST EXEC---')
return JsonOutput.toJson([result:'ok', data: requestContent])
}
//Основной блок -------------------------------------------------
@mdemyanov
Copy link
Author

mdemyanov commented Mar 6, 2019

Используйте метод exec-post с передачей параметров в теле запроса (JSON формат).

Структура URL: http://server_address:8888/sd/services/rest/exec-post?accessKey=key123&func=modules.moduleCode.methodName&params=requestContent , где

  • http://server_address:8888 - адрес вашего сервера
  • /sd/services/rest - директория с REST сервисами
  • /exec-post - метод ваызова функции (через POST запрос)
  • accessKey=key123 - блок с ключем доступа (авторизация)
  • func=modules.moduleCode.methodName - вызов метода из скриптового модуля
    • moduleCode - код вашего модуля
    • methodName - вызываемый метод (функция)
  • params=requestContent - блок с передачей параметров
    • requestContent - служебная переменная, сообщающая, что данные идут в теле запроса

На скриншоте ниже пример вызова метода через POSTMAN:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment