Обработка необязательных параметров запроса в Ballerina - PullRequest
0 голосов
/ 05 июня 2018

У меня есть служба, принимающая параметры запроса, которые являются необязательными.Я получаю следующую ошибку при вызове этой службы.

фатальная ошибка: не удается найти ключ 'schoolId' ошибка: ошибка, сообщение: не удается найти ключ 'schoolId' в руководстве: studentInfo.getStudentBySearch (student_info.bal: 91)

Ниже мой код.Как я могу безопасно проверить, переданы ли конкретные параметры запроса, и выполнить эти условия?

    @http:ResourceConfig {
        methods: ["GET"],
        path: "/*"
    }
    getStudentBySearch(endpoint client, http:Request req) {

            http:Response response;

            var params = req.getQueryParams();
            var schoolId = <string>params.schoolId;
            var addmissionYear = <string>params.addmissionYear;
    ..
    }

1 Ответ

0 голосов
/ 06 июня 2018

"req.getQueryParams ()" возвращает карту [1].В этом случае вы можете использовать любые функции карты [2] для своих нужд.

Вы можете использовать функцию hasKey, чтобы проверить, существует ли параметр запроса.

Пример:

map params = request.getQueryParams();
if (params.hasKey("schoolId")) {
    string schoolId = <string>params["schoolId"];
    // Handle here
} else {
    // Handle here
}

[1] - https://ballerina.io/learn/api-docs/ballerina/http.html#Request-getQueryParams
[2] - https://ballerina.io/learn/api-docs/ballerina/primitive-types.html#map

...