有以下网址 - / users / 2 /个人资料,/ users / 2 / userPosts
我需要在服务器端连接Spring Data REST结果的输出,并从它们构建单个JSON并发送到不同的URL /users/2/custom
。
所以,我想从Spring MVC调用2个SDR URL,我们可以使用RestTemplate和一些JSON concat实用程序,这里服务器和数据库在同一台机器上,所以RestTemplate可能有localhost
一个例子可以帮助
答案 0 :(得分:1)
您可能更愿意查看Spring Data REST的投影功能,它允许您使用此blog post中所述的接口来制作自定义响应。
由于两个属性(profile
和userPosts
)似乎都是用户项资源的关联,因此应该这样做:
@Projection(types = User.class)
interface UserWithDetails {
// List getters for basic properties you want to expose…
// Add dedicated getters for associations to be included
Profile getProfile();
List<Post> getUserPosts();
}
客户端现在可以将projection
参数传递给公开的资源,以查看扩展的表示。
作为替代方案,您可以为Profile
和Post
创建这些类型的接口,并在这两种类型的存储库上配置@RepositoryRestResource
以包含excerptProjection = YourProjectionInterface.class
。只要响应中包含关联(即可以嵌入实际链接到资源),这将导致呈现投影。