GWTP REST-Dispatch - 自1.5版本中删除RestService接口以来,rest dispach的新用法是什么

时间:2015-10-02 14:03:49

标签: rest gwtp

大家好,

我遇到了gwtp框架的rest-dispatch模块的实现问题。

如果我遵循当前的documentation,那么定义服务提供的资源接口应如下所示:

@Path(FOO)
@Produces(MediaType.APPLICATION_JSON)
public interface FooResource {

    @GET
    RestAction<FooDTO> getFoo();

}

在客户端(没有代理扩展名):

@Inject RestDispatch dispatcher;
@Inject FooResource fooResource;

...
dispatcher.execute(fooResource.getFoo(), new AsyncCallback<FooDTO>() {
     @Override
     public void onFailure(Throwable throwable) {

     }

     @Override
     public void onSuccess(FooDTO fooDto) {

     }
});
...

问题

RestDispatch正在等待返回RestAction的方法,但由于RestService接口已从1.5版本中删除:

我如何实现FooResource?

此外

在carstore示例项目中,使用RestAction的唯一资源是: https://github.com/ArcBees/GWTP-Samples/blob/master/carstore/src/main/java/com/gwtplatform/carstore/shared/api/StatisticsResource.java

但它的实现,实际上不是那种情况下的实现: https://github.com/ArcBees/GWTP-Samples/blob/master/carstore/src/main/java/com/gwtplatform/carstore/server/api/StatisticsResourceImpl.java

我应该遵循这个例子,未实现的接口的目的是什么?

我认为我的问题非常具体,可能主要是针对gwtp的作者。

我提前感谢那些愿意回应的人。

1 个答案:

答案 0 :(得分:2)

rest-dispatch是一个客户端库,描述服务的接口不能在服务器端使用。 我试图做一些GWTP的作者不打算做的事情。

然而,如果你想在服务器端使用接口,DelegateResource扩展是一个解决方案。它有一个缺点:能够在客户端进行类型安全回调。

进一步说,这是我在github上与团队进行的交流: https://github.com/ArcBees/GWTP-Samples/issues/92