2016-04-28 49 views
0

我必须开发一个休息Web服务。为此,我正在使用restlet api。
我有3个GET网址:Resltlet使用包含queryparam的URL映射资源

1. /info/person?name=aaa 
2. /info/person?name=aaa&age=21 
3. /info/person?name=aaa&age=21&sex=male 

我要到这些网址的3种不同的资源方法映射。

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Response; 
import javax.ws.rs.QueryParam; 

@Path("/info/person") 
@Produces(MediaType.APPLICATION_XML) 
public class TestResource{ 

//method 1 
@GET 
public Response getInfo(@QueryParam("name") final String name){ 
... 
} 

//method 2 
@GET 
public Response getInfo(@QueryParam("name") final String name){ 
.... 
} 

//method 3 
@GET 
public Response getInfo(@QueryParam("name") final String name, @Queryparam("age") final int age, @Queryparam("sex") final String sex){ 
.... 
} 
} 

我期望为URL1,方法1将被调用,用于URL2,方法2将被调用和URL3,方法3将被调用。

但这不起作用。预期的方法不会被调用。

请帮助我确定我犯的错误。

restlet version : 2.3.4

回答