【问题标题】:How to access a GET variable in Ballerina如何在 Ballerina 中访问 GET 变量
【发布时间】:2017-11-19 21:12:08
【问题描述】:

假设我的服务器收到了一个 GET 请求

www.example.com/?hub.mode=subscribe&hub.challenge=1320729329&hub.verify_token=Hello

我想回应 hub.challenge 的部分。我怎样才能用芭蕾舞演员的语言做到这一点?

【问题讨论】:

    标签: wso2 ballerina


    【解决方案1】:

    您需要为此使用@http:QueryParams。请参考以下示例:

    import ballerina.net.http;
    import ballerina.lang.system;
    
    @http:BasePath {value:"/shop"}
    service echo {
    
        @http:GET{}
        @http:Path {value:"/order"}
        resource echoGet (message m, @http:QueryParam {value:"orderid"}string orderid) {
            system:println("orderid" + orderid);
            reply m;
    
        }
    }
    

    http://localhost:9090/shop/order?orderid=123 的 GET 请求将被设置为变量 orderid,然后您可以在进一步的实现中使用它。 (请注意,我在示例中使用了system:println

    【讨论】:

    • 感谢您的回答。在那之后我得到了这个错误。 ballerina.lang.errors:Error, message: value at echo.echoGet(handler.bal:12)
    • 这是因为在发出 get 请求时,消息 m 不可用。我已修改示例以修复此错误。 (删除 http:convertToResponse(m); 声明)
    • 谢谢。我们可以使用 ballerina 在 html 页面中打印出orderid 吗?就像在 php (echo orderid;) 中一样
    • No Harshana .. 因为这是一种集成语言,我认为这种支持也不在未来的范围内。. 您可以轻松地将 orderid 设置为消息并回复接着就,随即。这样,您可以使用 REST 客户端查看响应(带有 orderid)。
    • 请参考stackoverflow.com/questions/44621416/… 以获得答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多