我正在使用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;
}
这样做的最佳方式是什么?
答案 0 :(得分:4)
HttpGet
和HttpPost
都实现了HttpMessage
接口,其中包含方法setHeader()
所以
public void setHeader(HttpMessage msg){
msg.setHeader("xxxx");
}
会做到这一点。
答案 1 :(得分:3)
HttpMessage
是HttpGet
和HttpPut
的父级。
试试这个
HttpMessage addHeaders(HttpMessage x) {
x.setHeader();//add the common headers
return x;
}