2017-08-29 114 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

相关问题