Gwt与Spring Rest Api和AutoBean通信

时间:2013-02-12 14:24:59

标签: json rest gwt

我有一个独立的Spring Rest Api。我有用JPA注释的模型。 我想用这个rest api写一个gwt客户端。 但是,我不想为每个模型对象类型创建JavaScript Overlay类型。 Gwt AutoBean上的接口逻辑看起来不错,但我无法弄清楚我是如何与我的独立spring应用程序集成的。你能帮助我吗? 或者您是否建议使用其他任何结构来简化处理rest api响应的过程?

1 个答案:

答案 0 :(得分:1)

是的,可以将AutoBean与Spring REST API一起使用 AutoBean的序列化形式反映了界面声明(有关详细信息,请参阅here) 我正在使用AutoBean与Spring MVC REST API + Jackson serialzier,它没有任何问题(在简单的bean列表中)。

Spring MVC Controller:

@RequestMapping(method = RequestMethod.GET,value="/REST/{id}/data")
public @ResponseBody
    MyDTO getData(@PathVariable("id") Long id) {
        MyDTO data = null;
        // retrieve data
    return data;
}

GWT客户端:
AutoBeanFactory:

public interface MyFactory extends AutoBeanFactory {
    AutoBean<MyDtoAutobean> data();
}

检索AutoBean:

MyDtoAutoBean data = AutoBeanCodex.decode(factory,MyDtoAutoBean.class,responseText).as();

responseText是您对REST API的GET请求的正文。

MyDTO是服务器端的类,MyDtoAutoBean是客户端(GWT)端的相应接口。 它们不必相同。但是,getter应匹配,否则您必须使用@PropertyName来更改mappping。