2012-01-22 39 views
7

Birkaç RESTful yöntem geliştirdim ve bunları Apache CxfBahar MVC kullanarak REST URL'leri nasıl tüketilir?

aracılığıyla açığa çıkarıyorum Spring MVC kullanarak istemci tarafında uygulama geliştiriyorum ve Spring kullanarak bu REST yöntemlerini nasıl çağırıp/kullanacağımı göstermek için basit bir örnek arıyorum MVC

Apache http istemcisini kullanarak nasıl yapılacağını biliyorum, ancak bunun önceden uygulanmış olması durumunda Spring MVC'yi kullanmayı tercih ediyorum.

+0

Ayrıca bakınız Bir çeşit vekil olarak hizmet vermek, ya da sadece Bahar MVC kullanarak bazı RESTful hizmetini yeniden tazelemek? – esaj

+0

Çok basit bir örnek için bu [eğitici] 'ye (http://www.mkyong.com/spring-mvc/spring-3-rest-hello-world-example/) bir göz atın. – dimitrisli

cevap

15

Bahar RestTemplate denilen RESTful hizmetleri tüketmeye basit sarıcı sağlar.

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 varsayarak RestTemplate tarafından anlaşılabilecek bir JAXB nesnesidir: Bu yol, değişken çözünürlük, sıralanırken ve unmarshalling gerçekleştirir.

Bu sınıfın Spring MVC ile ilgisi olmadığını unutmayın. MVC uygulamasında kullanabilirsiniz, aynı zamanda bağımsız bir uygulamada da kullanabilirsiniz. Bir istemci kütüphanesidir. Eğer tarayıcı ve başka RESTful arasındaki Bahar MVC-uygulamayı kullanmak istiyor musunuz:

1

REST verilerini kullanmak için yol değişkenlerini kullanın. Örneğin:

: başka bir hizmetten istirahat Servisi tüketmek istiyorsanız

https://localhost/products/{12345}

Bu model ürün olan ürün kimliği ayrıntısını vermelidir 12345.

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

sonra bir göz

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

ve

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

+1

Örnek, REST API zaten mevcut olduğundan, örneğinizin gerçekten yardımcı olduğundan emin değilim. Sorunun, Spring MVC ile müşterisinin geri kalanının tüketebileceği sınıflara nasıl haritalanacağını sorduğunu düşünüyorum. –

+1

Doğru bir şekilde anladım, OP, Spring MVC uygulamasının başka bir RESTful uygulamasının * istemci * olmasını ister. –

+0

Ürün kimliğini URL modelinden almak için basit bir yöntem ekledim – Abhi