在RESTful体系结构中从何处为多资源Web UI页面提供服务?

在RESTful体系结构中从何处为多资源Web UI页面提供服务?,rest,spring-mvc,url-rewriting,Rest,Spring Mvc,Url Rewriting,几乎所有的web内容都可以作为一种资源,单独提供。然而,Web前端混合了未连接的资源内容,以便为用户提供所需的体验。例如,一个博客页面可能会在左侧堆叠文章,在右侧列出该站点其他热门博客的列表。假设这两个资源列表的web服务分别位于URI:/blogs/{blogname}/entries和/popularblogs 我使用Spring的REST实现,可以推断返回内容类型。因此,当收到html请求时,我可以返回一个漂亮的小外观,为每个示例显示底层的atom列表。但是,我仍然需要提供web ui页面

几乎所有的web内容都可以作为一种资源,单独提供。然而,Web前端混合了未连接的资源内容,以便为用户提供所需的体验。例如,一个博客页面可能会在左侧堆叠文章,在右侧列出该站点其他热门博客的列表。假设这两个资源列表的web服务分别位于URI:/blogs/{blogname}/entries和/popularblogs

我使用Spring的REST实现,可以推断返回内容类型。因此,当收到html请求时,我可以返回一个漂亮的小外观,为每个示例显示底层的atom列表。但是,我仍然需要提供web ui页面,该页面在某些地方显示左右组合的演示文稿

web用户从哪个URI访问该页面?

我认为有两种选择:

  • 我可以为web ui页面提供第三个uri,可能会将uri树拆分为两个根,例如/rest/**用于restful web服务(在示例中,这两个列表都包含web服务)和/web/**用于web ui服务(这两个服务都知道在某个uri上提供复合页面,并根据需要向/rest/**世界调用ajax以获取内容).

  • 或者,当推断返回内容类型为html时,我可以从每个博客条目和流行博客rest请求返回复合WebUI页面

  • 最佳做法是什么?

    非常非常感谢您的反馈。非常感谢。谢谢大家!

    已决定采用选项1。正在从webapp拆分rest URI