我有一个服务接受可选的查询参数。我打电话给这项服务时出现以下错误。
致命错误:找不到键'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;
..
}
答案 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