Gwt 如何更改errai jaxrs代理的基本url端点?
我需要调用位于不同服务器上的不同端点,我尝试更改rest服务的基本url的值 但我只找到了这个方法Gwt 如何更改errai jaxrs代理的基本url端点?,gwt,jax-rs,errai,Gwt,Jax Rs,Errai,我需要调用位于不同服务器上的不同端点,我尝试更改rest服务的基本url的值 但我只找到了这个方法 RestClient.create(MyService.class, otherServiceBaseUrl, myCallback, 200).doStaf() ; 有什么建议可以更优雅地为MyService类中的所有服务设置基本url吗 我找到了这个解决方案。 我创建了一个抽象类 public abstra
RestClient.create(MyService.class, otherServiceBaseUrl,
myCallback,
200).doStaf() ;
有什么建议可以更优雅地为MyService类中的所有服务设置基本url吗 我找到了这个解决方案。
我创建了一个抽象类
public abstract class DinamicCaller<T> {
public T call() {
T call = getCaller().call();
((AbstractJaxrsProxy) call).setBaseUrl(getBaseUrl());
return call;
}
public T call(RemoteCallback<?> callback) {
T call = getCaller().call(callback);
((AbstractJaxrsProxy) call).setBaseUrl(getBaseUrl());
return call;
}
public T call(RemoteCallback<?> callback, ErrorCallback<?> errorCallback) {
T call = getCaller().call(callback, errorCallback);
((AbstractJaxrsProxy) call).setBaseUrl(getBaseUrl());
return call;
}
protected abstract Caller<T> getCaller();
protected abstract String getBaseUrl();
}
我用它
@UiHandler("testButton")
public void testButtonClick(ClickEvent event) {
service.call(testCallback, testCallback).findAllNegozi();
}
虽然很难看,但很管用。我找到了这个解决方案。
我创建了一个抽象类
public abstract class DinamicCaller<T> {
public T call() {
T call = getCaller().call();
((AbstractJaxrsProxy) call).setBaseUrl(getBaseUrl());
return call;
}
public T call(RemoteCallback<?> callback) {
T call = getCaller().call(callback);
((AbstractJaxrsProxy) call).setBaseUrl(getBaseUrl());
return call;
}
public T call(RemoteCallback<?> callback, ErrorCallback<?> errorCallback) {
T call = getCaller().call(callback, errorCallback);
((AbstractJaxrsProxy) call).setBaseUrl(getBaseUrl());
return call;
}
protected abstract Caller<T> getCaller();
protected abstract String getBaseUrl();
}
我用它
@UiHandler("testButton")
public void testButtonClick(ClickEvent event) {
service.call(testCallback, testCallback).findAllNegozi();
}
虽然很难看,但很难工作