2011-03-25 48 views
4

是否可以將方法映射到URL調用URL路徑的方法都帶ID和帶參數?例如: HTTP://本地主機/ WS/UpdateUser兩個/ 32332名=約翰PSW = 123Jersey框架中的映射方法

公共無效UpdateUser兩個(斯汀名,絃樂PSW){..}

看來,當前@PathParam註解支持路徑只有參數,如: 的http://本地主機/ WS/UpdateUser兩個/ 32332 /約翰/ 123

回答

4

嘗試使用@QueryParam捕捉namepsw參數: -

public void updateUser(@QueryParam Sting name, @QueryParam String psw) { 
    .. 
} 
0

可以在一個方法結合@QueryParam和@PathParam:

@GET 
@Path("/user/{userId}") 
public ShortLists getShortListsOfUser(@PathParam("userId") String userId, 
            @QueryParam("pageNumber") Integer pageNumber, 
            @QueryParam("pageSize") Integer pageSize, 
            @Context UriInfo uriInfo) { 
    /*do something*/ 
} 

此方法匹配http://localhost/api/用戶/ 222 PAGENUMBER = 1 &的pageSize = 3


當?使用UriBuilder運行此方法,請介意使用queryParam:

URI uri = getBaseUriBuilder().path("/user/user111").queryParam("pageSize", 2) 
       .queryParam("pageNumber", 3).build(); 

這不起作用:getBaseUriBuilder()。path(「/ user/user111?pageSize = 2 & pageNumber = 3」)。build(); (因爲問號由建造者用%3F代替)