gpt4 book ai didi

java - Spring MVC 和 Rest : different "layout" with same "content"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:22 24 4
gpt4 key购买 nike

我有一个 Spring 3.0 Web 应用程序,只要它是务实的,它就会尝试遵循 REST 原则。

我有一个 Controller 方法来返回一个文件夹(这是我的业务实体)。 (获取 http://.../folders/ {id})。如果用户访问此 URL,他将获得一个完整的 HTML 页面:包含页眉、页脚、菜单和文件夹详细信息。 – 使用 Apache Tiles 完成页眉、页脚和菜单的“增强”。

现在我有了另一个 View ,用户可以在其中看到文件夹树,如果他单击其中一个文件夹,文件夹详细信息将/应该通过 AJAX 加载,并显示在树旁边。在这种情况下,AJAX 响应应该是呈现的 HTML(无 JSON),因为当用户直接访问文件夹页面时,真实内容应该看起来像。

我的问题是,当我请求相同的 URL 时,服务器不仅会返回真实 内容,还会返回页眉、页脚和菜单。

我的问题是如何以一种时尚的方式来处理这个问题:- 当然我可以使用一个额外的参数和两个具有不同图 block 模板的 Controller 方法,但我认为这不太好,因为它使用 html 参数进行“布局”,我必须编写两个 Controller 方法(以及周围的所有东西)才能有两个 tile 模板

  • 那么以休息方式使用另一个 HTML“布局”访问相同“内容”的推荐方法是什么?
  • 是否有任何方法可以根据我的需要切换 tiles 模板定义中的模板(如何指定取决于对其他问题的回答)。

最佳答案

在 ReST 中,您所描述的问题将通过基于 Accept header 的内容协商来解决:请求者将指示预期的类型,例如 test/html、application/json 等。您可以使用通过让您的 Ajax 调用请求不同的类型来实现这一点。由于您使用的是 Spring 3 MVC,因此您应该能够配置 ViewResolvers 以根据请求的类型返回装饰或未装饰的 View 。这看起来像 reasonable example .

关于java - Spring MVC 和 Rest : different "layout" with same "content"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com