我试图将一些代码重构为工作者并获得错误:
未定义的符号userId
似乎工作人员无法从上面的范围中看到变量。如何让工作人员看到传入的参数?
import ballerina.net.http;
import ballerina.lang.messages;
import ballerina.lang.jsons;
@http:BasePath ("/foo")
service barApi {
http:ClientConnector endpointEP = create http:ClientConnector("http://example.com");
@http:GET
@http:Path("/users/{userId}")
resource users (message m,
@http:PathParam("userId") string userId) {
worker sampleWorker(message m) {
string requestPath = "/user/" + userId;
message response = http:ClientConnector.get(endpointEP, requestPath, m);
答案 0 :(得分:0)
您可以使用新的工作人员互动设计将任意数量的变量传递给芭蕾舞女演员。假设您想要将默认工作者(main)中的2个变量传递给另一个工作者W1,以下是示例代码。
import ballerina.lang.system;
function main(string[] args) {
int x = 10;
string s = "Test";
x, s -> W1;
worker W1 {
int y;
string t;
y,t <- default;
system:println("Inside worker " + y + " " + t);
}
}