最近在用dubbox作一個系統,系統中涉及到了一些我以前沒有用到過的標籤,特意摘抄到這裏,作個總結。php
需求場景是這樣的,以前有個方法是這樣的java
@GET
@Path("/ifast/{name}/{cardType}/{cardId}")
public ExtProdQueryResult queryIfastInvestInfo(@PathParam("name") String name,
@PathParam("cardType") String cardType,@PathParam("cardId") String cardId){
}
這個類有兩條路徑進入,一個是做爲dubbo服務給另一個Java項目提供接口調用,一個是以rest方式提供給php系統spa
如今php系統方面要作一個這樣的功能,校驗用戶傳過來的參數是否含有sid(sid是登陸相關的功能)。rest
因此怎麼辦?code
考慮加filter,那麼rest參數徹底不熟悉啊,接口
查閱了rest參數的傳遞方式,我試過了javax.ws.rs下面的全部看起來像是跟獲取param有關的註解。rem
but,都已失敗了結。最好我抱着試試看的態度,試了一下@queryparam,臥我我操,竟然成功了。果真是人不可貌相啊!!!ast
如今對這個不可貌相的註解進行一下總結:class
1跟@pathparam不一樣,@queryparam中,指定的是URL中的參數是以鍵值對的形式出現的,而在程序中@QueryParam("from") int from則讀出URL中from的值,而@pathparem中,URL中只出現參數的值,不出現鍵值對,好比:「/users/2011/06/30」登錄