注解:
1.@Path
(1)标注class,表明该类是个资源类。凡是资源类,必须使用@Path注解,不然jersey无法扫描到该资源类。
(2)标注method,表示具体的请求资源的路径
2.@GET、@POST、@PUT、@DELETE
指明http请求的方式属于get,post,put,delete中的哪一种。具体的指定请求方式,需要在客户端发起请求指定
3.@Consumes
指定http请求的MIME,默认是*/*,表示任意的MIME类型。该注解的值是个数组类型,支持多个MIME类型,可以使用MediaType来指定MIME类型
4.@Produces
指定http响应的MIME类型,默认是*/*,表示任意的MIME类型。该注解的值是个数组类型,支持多个MIME类型,可以使用MediaType来指定MIME类型
5.@PathParam
配合@Path来使用的,使用方式在@Path用{}来指定路径中匹配的参数,这种匹配是通过正则表达式来实现的。
6.@QueryParam
@QueryParam获取的参数,实际就是url中拼接在?后面的参数
url: http://localhost:8090/v1/pipeline/10/status?rev=9&onlyIfExists=false
7.@FormParam
客户端以form(MIME为application/x-www-form-urlencoded)的方式提交表单,服务端使用@FormParam解析form表单中的参数
8.@FormDataParam
通常在上传文件的时候,需要@FormDataParam。客户端提交form(MIME为multipart/form-data)的方式提交表单,服务端使用@FormDataParam来解析form表单中的参数
9.@HeaderParam
获取http请求头中的参数值
10.@CookieParam
获取http请求头中cookie中的参数值
11.@MatrixParam
获取请求URL中的参数中的键值对,必须使用“;”作为键值对的分隔符,比如/person/1;id=1;name=baba;age=22。
@MatrixParam可以接受List参数,尤其是在键值对key相同的时候,就会被解析为List
12.@DefaultValue
@DefaultValue配合@PathParam、@QueryParam、@FormParam、@FormDataParam、@MatrixParam、@HeaderParam、@CookieParam等使用,如果请求指定的参数中没有值,就使用@DefaultValue中的值为默认值。
注意:@DefaultValue指定的值不匹配在解析过程中报错。
@QueryParam("rev") @DefaultValue("A") Integer rev,
13.@BeanParam
如果传递的参数较多,使用bean传参,bean中的字段使用@PathParam、@QueryParam、@FormParam、@FormDataParam、@MatrixParam、@HeaderParam、@CookieParam来注解。
在resouces中具体方法参数中就可以使用@BeanParam来注解这个自定义的bean
14.@Encoded
禁止解码,客户端发送的参数是什么样,服务器接收到的参数就是什么样