【发布时间】:2013-07-08 22:45:45
【问题描述】:
我正在使用 Square 的 Retrofit 库进行短期网络调用。我在每个请求中都包含了一些数据作为@Query 参数。像这样:
@GET("/thingOne.php")
void thingOne(
@Query("app_version") String appVersion,
@Query("device_type") String deviceType,
Callback<Map<String,Object>> callback
);
@GET("/thingTwo.php")
void thingTwo(
@Query("app_version") String appVersion,
@Query("device_type") String deviceType,
Callback<Map<String,Object>> callback
);
必须为Interface 中列出的每个端点定义appVersion 和deviceType 很麻烦。有没有办法设置应包含在每个请求中的基本参数集?类似于我们设置普通Authorization Header的方式?
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer("...")
.setRequestHeaders(new RequestHeaders() {
@Override
public List<Header> get() {
List<Header> headers = new ArrayList<Header>();
Header authHeader = new Header(
"Authorization", "Bearer " + token);
headers.add(authHeader);
}
return headers;
}
})
.build();
this.service = restAdapter.create(ClientInterface.class);
【问题讨论】:
标签: java android networking retrofit