我想发一个http请求。我正在使用JAX-RS球衣客户端api。这是我的代码:
public RestResponse restPost(String sessionMap, String requestURL, String jsonRequest, MultivaluedMap<String, Object> headers) {
String baseURL = session.get("baseurl");
System.out.println("baseURL: " + baseURL);
WebTarget target = getWebTarget().path(requestURL);
Response response = target.request(MediaType.APPLICATION_JSON)
.headers(headers) **//past in a multi value map ex: ["ContentType":"application/json", "Content-Length":"158"]**
.post(Entity.json(jsonRequest));
int responseCode = response.getStatus();
String responseData = response.readEntity(String.class);
String contentType = response.getHeaderString("Content-Type");
RestResponse data = new RestResponse(responseCode, responseData);
System.out.println("response code: " + responseCode);
System.out.println("response Data: \n" + responseData);
System.out.println("content-type: " + contentType);
//parseJSON(responseData);
return data;
}
我希望用户能够通过某种地图过去任意数量的标题参数。我看到这是一个.headers()方法,它接受一个多值图,但我不能实例化它,因为它是一个接口。有工作吗?我怎样才能允许用户在标题地图中过去?
答案 0 :(得分:3)
使用实现MultivaluedHashMap
接口的MultivaluedMap
。