Мы используем Spring для реализации контроллера REST, например:
@Controller
@RequestMapping("/myservice")
public class MyController {
@RequestMapping(value = "foo", method = RequestMethod.GET)
public @ResponseBody string foo() {...}
}
Я могу вызвать эту услугу, используя Spring RestTemplate, и она отлично работает, но я бы предпочел ее вызывать с помощью прокси вместо безошибочного вызова с использованием строки url:
// client code:
MyController proxy = getProxy("baseUrl", MyController.class);
String results = proxy.foo();
Таким образом, ввод в генерацию прокси-сервера - это java-интерфейс с аннотациями, описывающими детали REST.
Я прочитал эту статью, и похоже, что у всех типов удаленных вызовов есть прокси, и все, что мне нужно для REST, похоже на RestProxyFactoryBean
, который будет использовать мой интерфейс REST java и вернуть тип безопасного прокси, который использует RestTemplate в качестве реализации.
Самое близкое найденное решение - JBoss RESTEasy.
Но он, кажется, использует разные аннотации, поэтому я не уверен, что он будет работать с аннотациями, которые у меня уже есть: @Controller
, @RequestMapping
.
Есть ли другие варианты, или RESTEasy - единственный?
Заметьте, я новичок Spring, поэтому некоторые очевидные вещи Spring для меня довольно новы.
Спасибо.
Дима