这段时间一直用的是Jersey,可是到今天我才发现queryparam参数与pathparam参数的不同之处,因为之前也很少用这两种类型的参数进行传递,也没有进行学习,是没有用心去学习。直到我不得不用URL传递参数的时候,不可避免的用到了这两种参数,还是推荐使用QueryParam这种进行参数的传递。
1、PathParam注解
传递参数的时候直接就是将参数写到后面:
http://localhost:8080/analyse_platform/rest/analyse/getData/2017年 这种URL传递参数的时候其中(2017年)就是传递的参数
后台获取的时候@path("getData/{year}") @PathParam("year") String year 就能够获取到参数的值了
但是,这种方式传递参数的时候会出现乱码的问题,我至今也没有找到解决乱码的解决方法,于是就放弃这种传递参数的方法了,用了第二种
2、QueryParam注解
传递参数的时候需要在URL地址中指定传递参数的形式参数:
http://localhost:8080/analyse_platform/rest/analyse/getData?year=“2017年”&charsetEncoding="UTF-8" 这跟以前所用到的URL传递参数的方法是一样的,为防止乱码,可以直接在后面规定编码格式。
后台获取参数的时候就可以 直接@QueryParam("year") String year 直接就可以获取到year的值了
这种方式的注解在获取传递参数的时候,乱码的问题容易解决一些,我想以后在遇到类似的问题,就直接使用@QueryParam直接就可以了。