Dav*_*ram 3 java rest webresource jersey
我试图接受一组任意HTTP标头并将其转储到WebResource实例中.WebResource接口允许用查询参数执行此操作,因为它提供了两个
webResource.queryParam(key, value)
Run Code Online (Sandbox Code Playgroud)
和
webResource.queryParams(MultivaluedMap<String, String> queryMap)
Run Code Online (Sandbox Code Playgroud)
但是,API不允许对标题进行相同的操作.只有一个功能,
webResource.header(key, value)
Run Code Online (Sandbox Code Playgroud)
允许一个人为HTTP标头输入一个键值对,但没有函数
webResource.headers(MultivaluedMap<String, String> headersMap)
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我尝试从WebResource检索构建器并迭代它,逐个添加头
WebResource.Builder builder = webResource.getRequestBuilder();
for(Map.Entry<String, String> headersMapEntry : headersMap.entrySet()){
builder = builder.header(
headersMapEntry.getKey(), headersMapEntry.getValue());
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有解决我的问题.
有没有人知道如何使用Jersey进行解决方法,以便我可以将任意地图转储到我的WebResource的标题中?
谢谢,大卫
事实证明,解决它的唯一方法是首先使用getRequestBuilder()从webResource中提取requestBuilder,然后使用requestBuilder构建并执行其余的请求.
归档时间: |
|
查看次数: |
3749 次 |
最近记录: |