2012-01-22 3 views
7

я разработал несколько методов RESTful и подвергает их с помощью Apache CXFКак использовать URL-адрес REST с помощью Spring MVC?

Я занимаюсь разработкой приложения на стороне клиента с помощью Spring MVC, и я ищу простой пример, чтобы продемонстрировать, как звонить/потреблять эти методы REST с использованием Spring MVC

Я знаю, как это сделать, используя клиент Apache http, но предпочитаю использовать Spring MVC в случае, если это уже реализовано там.

+0

У меня трудное время, пытаясь выяснить, что спрашивают здесь: Вы хотите использовать Spring MVC-приложения между браузером и другой RESTful -сервис как своего рода прокси-сервер или просто переопределить некоторый RESTful-сервис, используя Spring MVC? – esaj

+0

Посмотрите на это [учебник] (http://www.mkyong.com/spring-mvc/spring-3-rest-hello-world-example/) для очень простого примера. – dimitrisli

ответ

15

Spring обеспечивает простую обертку потреблять RESTful услуги под названием RestTemplate. Он выполняет переменное разрешение пути, сортировочные и демаршаллинг:

Map<String, Integer> vars = new HashMap<String, Integer>(); 
vars.put("hotelId", 42); 
vars.put("roomId", 13); 
Room room = restTemplate.getForObject(
    "http://example.com/hotels/{hotelId}/rooms/{roomId}", 
    Room.class, vars); 

Предполагая Room является объектом JAXB, который может быть понят RestTemplate.

Обратите внимание, что этот класс не имеет ничего общего с Spring MVC. Вы можете использовать его в приложении MVC, но также и в автономном приложении. Это клиентская библиотека.

Смотрите также

1

Используйте переменные пути для использования данных REST. Например:

https://localhost/products/{12345}

Эта модель должна дать вам деталь идентификатора продукта, имеющего продукт 12345.

@RequestMapping(value="/products/{productId}") 
@ResponseBody 
public SomeModel doProductProcessing(@PathVariable("productId") String productId){ 
//do prpcessing with productid 
return someModel; 
} 

Если вы хотите, чтобы потреблять Rest службу из другой службы, то есть посмотреть на:

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html

и

http://www.informit.com/guides/content.aspx?g=java&seqNum=546

+1

Я не уверен, что ваш пример действительно помогает, поскольку API REST уже существует. Я думаю, что вопрос заключается в том, как сопоставить это с Spring MVC в классах, которые может потреблять остальная часть его клиента. –

+1

Если я правильно понял, OP хочет, чтобы приложение Spring MVC было * клиентом * другого приложения RESTful. –

+0

Я добавил простой способ захватить идентификатор продукта из шаблона URL – Abhi

Смежные вопросы