2017-08-29 78 views
0

我正在使用Spring Data Rest來公開新聞訂閱源REST API。我想將一個圖像(位置)添加到實體中,該實體將通過單獨的Web服務API調用進行檢索。使用Spring Data Rest檢索其他非DB數據信息

什麼是使用Spring Data Rest做到這一點的最好方法,或者我是否必須創建另一個單獨的REST API調用/域對象等?

任何示例代碼將是太棒了。

+0

不要忘了接受\給予好評的答案,幫助你... – Cepr0

回答

0

您應該使用ResourceProcessor

春季數據REST出口執行任何發現ResourceProcessor的它訪問存儲庫和EntityLinks對象創建輸出表現

@Bean 
public ResourceProcessor<Resource<MyEntity>> myEntityProcessor() { 

    return new ResourceProcessor<Resource<MyEntity>>() { 

    @Override 
    public Resource<MyEntity> process(Resource<MyEntity> resource) { 

     resource.add(new Link("http://localhost:8080/images/images.jpg", "image")); 
     return resource; 
    } 
    }; 
} 

又如之前有助於建立與實體相關的鏈接。

@Component 
class MyEntityResourceProcessor implements ResourceProcessor<Resource<MyEntity>> { 

    @Autoware 
    private MyEntityRepo repo; 

    @Autoware 
    private EntityLinks entityLinks; 

    @Override 
    public Resource<MyEntity> process(Resource<MyEntity> resource) { 

     MyEntity entity = resource.getContent(); 

     // Some entity processing... 

     Link link entityLinks.linkForSingleResource(entity).slash("...").withRel("...") 

     resource.add(link); 
     return resource; 
    } 
} 

使用ResourceProcessor的更多的例子,你可以找到在RESTBucks project

+0

謝謝,我會看看這個。我假設當一個對象列表正在返回,這將允許我爲每個對象添加一個單獨的圖像? – Swordfish

+0

@Swordfish yes。試試... – Cepr0

+0

Cheers @ Cepr0 – Swordfish

相關問題