use*_*948 7 java rest service jax-rs
请考虑以下方法:
@POST
@Path("/search")
public SearchResponse doSearch(SearchRequest searchRequest);
Run Code Online (Sandbox Code Playgroud)
我希望这种方法能够了解发出请求的用户.因此,我需要访问与SearchRequest
用户发送的对象关联的cookie .
在SearchRequest类中,我只有这个实现:
public class SearchRequest {
private String ipAddress;
private String message;
...
Run Code Online (Sandbox Code Playgroud)
这是请求:
{
"ipAddress":"0.0.0.0",
"message":"foobarfoobar"
}
Run Code Online (Sandbox Code Playgroud)
除了此请求,浏览器还会在用户登录系统时发送cookie集.
我的问题是如何在doSearch
方法的上下文中访问cookie ?
ton*_*edz 10
您可以javax.ws.rs.CookieParam
在方法的参数上使用注释.
@POST
@Path("/search")
public SearchResponse doSearch(
SearchRequest searchRequest,
@CookieParam("cookieName") Cookie cookie
) {
//method body
}
Run Code Online (Sandbox Code Playgroud)
Cookie
这里使用的类是javax.ws.rs.core.Cookie
你不必使用它.
您可以在任何参数上使用此注释,只要:
Cookie
(与上例相同)String
参数的构造函数valueOf
或fromString
接受单个String
参数的静态方法(例如,参见Integer.valueOf(String)
)ParamConverterProvider
JAX-RS扩展SPI 的注册实现,它返回一个ParamConverter
能够为该类型进行"from string"转换的实例.List<T>
,Set<T>
或者SortedSet<T>
,T
满足上面的2,3,4或5.生成的集合是只读的.这些规则来自Jersey中实现的@CookieParam
注释文档,这是JAX-RS的参考实现
归档时间: |
|
查看次数: |
9668 次 |
最近记录: |