JAX-RS入门 四: 注入
一、Annotations
@javax.ws.rs.PathParam:?从URI模板参数中提取数据 @javax.ws.rs.MatrixParam:从URI中提取Matrix参数 @javax.ws.rs.QueryParam:从URI中提取查询参数 @javax.ws.rs.FormParam:提取Post Form参数 @javax.ws.rs.HeaderParam:提取HTTP请求头信息 @javax.ws.rs.CookieParam:提取客户设置的cookie的信息 @javax.ws.rs.core.Context:通用的注入annotation,允许注入各种帮助或者信息对象通常这些注释用在服务方法上,当JAX-RS收到一个请求会,就会去查找相应的服务方法,然后把方法需要的信息注入。
?
如果是 “每个请求一个对象”的模式,你可以将这些annotation用在变量、set方法或者是构造方法上;如果是单态模式,则不允许将这些annotation用在变量、或者set方法上,因为对像会同时处理多个请求,如果将这些值用在变量或者set方法上,则多个请求会彼此冲突,陷入错误。
?
二、PathParam
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
- @Path("/myservice") ??public?class?MyService?{ ??????@GET??????@Produces("text/html") ??????public?String?get(@Context?HttpHeaders?headers)?{ ??????????for?(String?name?:?headers.getCookies().keySet()) ??????????{ ??????????????Cookie?cookie?=?headers.getCookies().get(name); ??????????????System.out.println("Cookie:?"?+ ??????????????????name?+?"="?+?cookie.getValue()); ??????????} ??????????... ??????} ??}??