2013-02-12 3 views
0

독립형 Spring Rest API가 있습니다. JPA로 주석이 달린 모델이 있습니다. 이 나머지 API를 사용하여 gwt 클라이언트를 작성하고 싶습니다. 그러나 각 모델 객체 유형에 대해 JavaScript 오버레이 유형을 생성하고 싶지 않습니다. Gwt AutoBean의 인터페이스 로직이 좋았지 만 독립형 스프링 어플리케이션과 어떻게 통합되는지 알 수 없었습니다. 너 나 좀 도와 줄 수있어? 휴식 API 응답 처리 프로세스를 쉽게하기 위해 다른 구조를 권장합니까?Gwt는 Spring Rest API 및 AutoBean과 통신합니다.

답변

1

예 스프링 휴식 API와 함께 AutoBean을 사용할 수 있습니다.
AutoBean의 직렬화 된 형식은 인터페이스 선언을 반영합니다 (자세한 내용은 here 참조).
스프링 MVC REST API + Jackson serialzier를 사용하여 AutoBean을 사용하고 있으며 문제없이 작동합니다 (간단한 콩의 목록에서).

스프링 MVC 컨트롤러 :

@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는 귀하의 GET 요청의 본문 당신의 REST API

MyDTO은 서버 측의 클래스이고 MyDtoAutoBean은 클라이언트 (GWT) 측의 해당 인터페이스입니다. 그들은 동일 할 필요가 없습니다. 그러나 getter가 일치해야합니다 그렇지 않으면 @PropertyName을 사용하여 mappping을 변경해야합니다.