2012-03-06 2 views
1

У меня есть существующие веб-службы blazeDS, которые необходимо сохранить, как и по разным причинам.
Теперь у меня есть необходимость выставлять одни и те же функциональные службы через api rest и marshall предыдущих двоичных VO через json.
Я хочу знать, могу ли я как-то использовать оба метода @RemotingDestination и @RequestMapping одновременно в одном классе? Отвечать на запросы обоих типов запросов?Можно ли добавить REST в мой существующий веб-сервис Spring BlazeDS?

Благодаря

ответ

2

Самый простой способ выставить такую ​​же функциональность как REST и Блейз создать методы обертки для конечной точки REST и иметь его прокси через к исходному Blaze воздействию метода.

Простой пример предполагая простой GET:

@Service("userService") 
@RemotingDestination(channels={"my-amf","my-secure-amf"}) 
public class UserService { 

    @RemotingExclude 
    @RequestMapping("/user/{id}", method=RequestMethod.GET) 
    public String getUserByIdRest(@PathVariable String id) { 
     return this.getUserById(id); 
    } 

    @RemotingInclude 
    public String getUserById(String id) { 
     //.. 
     return id; 
    } 
} 
+0

Спасибо, я предпочел бы использовать тот же метод, если это возможно, так что я буду немного подождать, чтобы увидеть, если кто-то предлагает другой путь, но я хотел бы спросить вы, если @RemotingInclude является необязательным? Я спрашиваю, потому что мои текущие службы blaze-ds (которые я не писал) не имеют, но они, конечно, работают. Возможно, это требуется только при использовании @RemotingExclude? Спасибо – Ittai

+0

NP, я всегда думал, что @ RemotingInclude требуется, но не думаю, что так как ваша текущая реализация работает без него. Мне было бы интересно узнать, продолжает ли он работать после добавления @ RemotingExclude. Лично я предпочитаю явно пояснять мои методы обслуживания для ясности. Удачи. –