Restlet ServerResource方法参数?

Fin*_*arr 4 java restlet

这可能是一个非常愚蠢/简单的问题,有一个明显的答案,似乎不值得在restlet文档中说明.Restlet如何以及如何(如果有的话)将参数传递给ServerResource类中的方法?

鉴于此类:

public class FooServerResource extends ServerResource {
    @Get
    public String foo(String f) {
        return f;
    }
}
Run Code Online (Sandbox Code Playgroud)

和路由器附件 router.attach("/foo", FooServerResource.class);

我知道如果我使用Restlet客户端连接器,我可以为这个类创建一个代理并直接调用方法,但是如果我从其他非java语言(例如PHP)调用此ServerResource怎么办?

Bru*_*uno 8

您可以使用资源引用访问查询参数.通常,这样的事情:

@Get
public String foo() {
    Form queryParams = getReference().getQueryAsForm();
    String f = queryParams.getFirstValue("f");
    return f;
}
Run Code Online (Sandbox Code Playgroud)

一般来说(这将工作,其他方法GET),您可以访问任何被传递到请求(包括实体,在适当的时候),使用getRequest()中的ServerResource.