Использование функции верхнего уровня для обработчика на Kotlin
Чтобы создать обработчик на Kotlin, вы можете задать функцию верхнего уровня
Пример обработчика, который принимает число и его же возвращает:
fun handle(s: Int): Int = s
Важно
Передавайте в функции верхнего уровня только один параметр.
Протестировать функцию из примера выше можно следующими способами:
-
В консоли управления
, на странице функции, на вкладке Тестирование. -
С помощью HTTPS-запроса с параметром ?integration=raw:
curl \ --header "Authorization: Bearer <IAM-тoкен>" \ --data "<число>" \ "https://functions.yandexcloud.net/<идентификатор_функции>?integration=raw"
В параметре
--data
укажите число, которое должна вернуть функция.
Примеры
Обработка HTTP-запроса
Скрипт ниже обрабатывает входящий HTTP-запрос и выводит результаты обработки: код ответа HTTP и тело ответа.
Файл Handler.kt
:
data class Request(
val httpMethod: String?,
val headers: Map<String, String> = mapOf(),
val body: String = ""
)
data class Response(
val statusCode: Int,
val body: String
)
fun handle(request: Request): Response {
return Response(200, "Hello World!")
}
Формат результата зависит от того, указал ли пользователь параметр ?integration=raw
в запросе:
-
С параметром
?integration=raw
:{ "statusCode": 200, "body": "Hello World!" }
-
Без параметра
?integration=raw
:"Hello World!"
Код
200
будет передан не в теле ответа, как в случае параметра?integration=raw
, а в виде HTTP-кода ответа.
Вывод структуры HTTP-запроса
Скрипт ниже обрабатывает входящий HTTP-запрос и выводит его структуру и код ответа HTTP.
Файл Handler.kt
:
data class Response(
val statusCode: Int,
val body: String
)
fun handle(request: String): Response {
return Response(200, request)
}