我们有一个登录后显示的用户仪表板。仪表板由多个小部件组成。 每个小部件都从单独的 Restful 服务中提取内容。 例如:/新闻/邮件/问题/警报。 每个小部件在加载到页面后都会调用该服务。这样就有多个Web服务调用。
有没有办法减少多次调用。
它应该工作的方式是,当第一次加载页面时,服务应该在一次调用中返回所有小部件的聚合数据。
每个服务还应该独立可用,以便它可以用于刷新单个小部件以及其他系统集成。
注意:在这种情况下,小部件是任何可以使用来自 Restful 服务的 json 数据的 javascript portlet。 所有服务都位于一个 Web 应用程序中。
我们如何聚合来自多个服务的响应并组合成一个 JSON?
最佳答案
如果您可以添加自己的 JAX-RS 服务,只需添加一个新服务来调用其他每个服务并创建聚合响应。
例如:
GET http://myservice.com/rest/aggregate?service=news&service=mails&service=questions
服务的 URL 前缀可以作为单独的编码参数提供,或者在聚合服务中提供。
如果所有这些都在同一服务器中运行,则只需使用其他服务的现有 API 来创建聚合响应。
关于java - 如何聚合来自多个服务的 JAX-RS 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218462/