我正在使用import org.apache.http.client.methods.HttpPut和HttpGet来形成我的put和get请求的标头。这些方法中添加的许多标头都是相同的,我想避免在我的 put 和 get 函数中编写相同的代码。有没有办法让一个函数同时接受 HttpPut 或 HttpGet 对象作为参数并能够添加标头?例如:
HttpGet get= new HttpGet(url);
get = addHeaders(get);
get.setHeader();//custom headers for get requests
HttpPut put = new HttpPut(url);
put = addHeaders(put);
Object addHeaders(Object x) {
x.setHeader();//add the common headers
return x;
}
最好的方法是什么?
HttpGet
和HttpPost
都实现了包含方法HttpMessage
接口setHeader()
public void setHeader(HttpMessage msg){
msg.setHeader("xxxx");
}
会做这个伎俩。
HttpMessage
是HttpGet
和HttpPut
的父级。
试试这个
HttpMessage addHeaders(HttpMessage x) {
x.setHeader();//add the common headers
return x;
}