nasıl

2014-12-09 14 views
14
Şu anda böyle @RepositoryRestResource onları açıklamalar ekleyerek birkaç Bahar Veri Depoları olarak RESTful hizmetleri açığa am

Bahar Veri Depolarını ve Bahar Dinlenme Kontrolörleri karıştırmak için. Benim ilk uç nokta da gösteriyor vurduğunda hepsi böyle ben maruz gelmiş Bahar Veri Depoları:nasıl

Şimdi
{ 
    _links: { 
     thing1: { 
     href: "http://localhost:8080/thing1{?page,size,sort}", 
     templated: true 
     }, 
     thing2: { 
     href: "http://localhost:8080/thing2" 
     } 
    } 
} 

Ben bu bahar Veri Arşivleri tarafından temsil edilemez sergilemek istediğiniz bazı uç noktaları var, bu yüzden kullanıyorum Bir RestController. Bu uygulamayı çalıştırmak ve gidersem

@RestController 
@ExposesResourceFor(Thing3.class) 
@RequestMapping("/thing3") 
public class Thing3Controller { 

    @Autowired 
    EntityLinks entityLinks; 

    @Autowired 
    Thing3DAO thing3DAO; 

    //just assume Thing3.class extends ResourceSupport. I know this is wrong, but it makes the example shorter 
    @RequestMapping(value = "/{id}", produces = "application/json") 
    Thing3 thing3(@PathVariable("id") String id) 
    { 
     Thing3 thing3 = thing3DAO.findOne(id);   

     Link link = entityLinks.linkToSingleResource(Thing3.class, id); 
     thing3.add(link); 

     return thing3; 
    } 
} 

:

http://localhost:8080/thing3/{id} 

Ben kendisine bir bağlantı ile Thing3 bir JSON temsilini olsun, o İşte

basit bir örnek beklendiği gibi çalışır.

İlk uç noktanın bu denetleyiciyi nasıl tanımlayacağını öğrenmek istiyorum. Temelde bu istiyorum:

{ 
    _links: { 
     thing1: { 
     href: "http://localhost:8080/thing1{?page,size,sort}", 
     templated: true 
     }, 
     thing2: { 
     href: "http://localhost:8080/thing2" 
     }, 
     thing3: { 
     href: "http://localhost:8080/thing3" 
     } 
    } 
} 

Ne bu denetleyiciye bir bağlantı var benim taban uç noktasını almak için ne gerekiyor?

+0

olası yinelenen -s ve düzenli kontrolörler] (http://stackoverflow.com/questions/25783487/custom-response-for-root-request-int-the-spring-rest-hateoas-with-both-repositor) – zeroflagL

+1

nasıl buldunuz @RestController ilkbahar-hateoas ile çalışmak zorunda? Ayrıca, 'thing3.add' yönteminin nereden geldiğini anlamaya çalışıyorum. Bir varlık topluluğu için nasıl yönetici olursunuz? – BigDong

cevap