处理Ballerina中的可选查询参数

时间:2018-06-05 20:42:26

标签: ballerina

我有一个服务接受可选的查询参数。我打电话给这项服务时出现以下错误。

  

致命错误:找不到键'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 :(得分:2)

“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