最近在用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”登录