是否可以为 Ballerina 服务定义默认资源?
Is it possible to define default resources for a Ballerina service?
试试看能不能曝光
卷曲 http://localhost:9090/studentinfo?schoolId=12341324,
其中 "studentinfo" 是服务路径。
@http:ServiceConfig { basePath: "/studentinfo" }
service<http:Service> studentInfo bind studentInfoListener {
@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;
...
}
...
}
仅使用“/”作为资源路径应该可行。
@http:ResourceConfig {
methods: ["GET"],
path: "/"
}
在 ballerina 中,请求是基于路径和 HTTP 动词调度的。对于默认资源,路径和动词都不应该限制请求。请考虑以下代码片段。
@http:ResourceConfig {
path: "/*"
}
getStudentBySearch(endpoint client, http:Request req) {
http:Response response;
var params = req.getQueryParams();
var schoolId = <string>params.schoolId;
var addmissionYear = <string>params.addmissionYear;
...
}
这里HTTP动词没有特别说明。这意味着任何动词都是允许的。
当路径定义为“/*”时,在没有特定匹配的情况下,basePath 之后的任何路径段都将与其匹配。
示例网址:
http://localhost:9090/studentinfo?schoolId=12341324,
http://localhost:9090/studentinfo/resourcePath?schoolId=12341324
试试看能不能曝光 卷曲 http://localhost:9090/studentinfo?schoolId=12341324, 其中 "studentinfo" 是服务路径。
@http:ServiceConfig { basePath: "/studentinfo" }
service<http:Service> studentInfo bind studentInfoListener {
@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;
...
}
...
}
仅使用“/”作为资源路径应该可行。
@http:ResourceConfig {
methods: ["GET"],
path: "/"
}
在 ballerina 中,请求是基于路径和 HTTP 动词调度的。对于默认资源,路径和动词都不应该限制请求。请考虑以下代码片段。
@http:ResourceConfig {
path: "/*"
}
getStudentBySearch(endpoint client, http:Request req) {
http:Response response;
var params = req.getQueryParams();
var schoolId = <string>params.schoolId;
var addmissionYear = <string>params.addmissionYear;
...
}
这里HTTP动词没有特别说明。这意味着任何动词都是允许的。
当路径定义为“/*”时,在没有特定匹配的情况下,basePath 之后的任何路径段都将与其匹配。
示例网址:
http://localhost:9090/studentinfo?schoolId=12341324,
http://localhost:9090/studentinfo/resourcePath?schoolId=12341324