我正在尝试接收任意一组 HTTP 标头并将其转储到 WebResource 实例中。WebResource 接口允许使用查询参数来执行此操作,因为它提供了
webResource.queryParam(key, value)
和
webResource.queryParams(MultivaluedMap<String, String> queryMap)
然而,API 不允许对标头执行相同的操作。只有一个功能,
webResource.header(key, value)
它允许为 HTTP 标头输入键值对,但没有功能
webResource.headers(MultivaluedMap<String, String> headersMap)
为了解决这个问题,我尝试从 WebResource 检索构建器并对其进行迭代,一一添加标题
WebResource.Builder builder = webResource.getRequestBuilder();
for(Map.Entry<String, String> headersMapEntry : headersMap.entrySet()){
builder = builder.header(
headersMapEntry.getKey(), headersMapEntry.getValue());
}
但这似乎并不能解决我的问题。
有谁知道我如何使用 Jersey 解决方法,以便我可以将任意地图转储到我的 WebResource 的标题中?
谢谢,大卫