use*_*009 6 java rest multithreading android retrofit
我将我的 Retrofit 代码包装在如下所示的类中。如果从我发布的代码中不清楚,它正在与带有 OAuth 的宁静服务进行交互。
这对于线程安全是否可行?我的意思是说用户一次点击两个地方并触发两个 API 调用。这段代码好用吗?我需要保持内部队列吗?如果是这样,我应该怎么做?
从这个答案来看,我会说,不。但我不确定。
public class RestClient implements IRestClient {
private IRestAPI api;
/**
*
* @param accessToken
*/
public RestClient(final String accessToken)
{
RequestInterceptor requestInterceptor = new RequestInterceptor()
{
@Override
public void intercept(RequestFacade request) {
request.addHeader("Authorization", "Bearer " + accessToken);
}
};
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(Config.ENDPOINT)
.setRequestInterceptor(requestInterceptor)
.build();
api = restAdapter.create(IRestAPI.class);
}
@Override
public void getUserProfile(Callback callback) {
api.getUserProfile(callback);
}
@Override
public void getFriendList(Callback callback) {
api.getFriendList(callback);
}
@Override
public void sendMessage(User user, String message, Callback callback) {
api.sendMessage(user, message, callback);
}
@Override
public void createSomething(Some thing, Callback callback) {
api.createSomething(thing, callback);
}
...
}
Run Code Online (Sandbox Code Playgroud)
非常感谢建议/评论等。提前致谢。