Java “Apache Sling”是什么意思;“更多休息”;比Spring mvc更好?

Java “Apache Sling”是什么意思;“更多休息”;比Spring mvc更好?,java,rest,spring-mvc,web,sling,Java,Rest,Spring Mvc,Web,Sling,有时我模模糊糊地听到 Apache比Spring mvc提供更多的REST 来自我的同事 我不可能从他们那里知道这件事。 我有足够的SpringMVC经验,我是ApacheSling的新手 有人能解释一下上面的话吗 p.S. 我想查看这些产品的非REST功能列表 例如: Spring mvc允许使用会话属性,这与REST原则相矛盾——无状态。没有框架比其他框架更富REST性的事情。这就好比说用来建造房子的材料或多或少地使它适合某一特定的建筑风格。如果你的应用程序或多或少是RESTful的,你会说

有时我模模糊糊地听到

Apache比Spring mvc提供更多的REST

来自我的同事

我不可能从他们那里知道这件事。 我有足够的SpringMVC经验,我是ApacheSling的新手

有人能解释一下上面的话吗

p.S.

我想查看这些产品的非REST功能列表

例如:
Spring mvc
允许使用会话属性,这与REST原则相矛盾——无状态。

没有框架比其他框架更富REST性的事情。这就好比说用来建造房子的材料或多或少地使它适合某一特定的建筑风格。如果你的应用程序或多或少是RESTful的,你会说你是如何设计它的,以及你的客户是如何访问它的。您可以使用完全不使用框架的RESTful应用程序,只要它满足REST约束。如果不考虑RESTful,您可以创建一个根本不是RESTful的应用程序

如果您的应用程序比其他应用程序更多或更少地使用REST,那么决定因素不是您正在使用的框架,而是:

  • 无国籍的
  • 可缓存的
  • 客户端不需要带外信息(HATEOAS)
  • 尊重基本协议的标准
  • 尊重客户机-服务器体系结构

要知道休息并不是解决大多数问题的适当方法。大多数人所称的REST只是任何非SOAP的HTTP API,您的同事可能只是试图将REST作为一种权威,以强调他们的个人偏好。

Apache Sling是专门为促进实际遵守restful约束的应用程序而设计的,即,设计用于在URL位置提供资源而不改变状态的。Spring更像是一个通用的web应用程序基础架构。

我同意其他人的观点,即很难衡量框架的RESTfull;-)

我对SpringMVC的了解非常有限,所以我不能对此发表评论

ApacheSling采用了RESTful方式设计应用程序,因为它的核心设计和概念,如资源是一等公民、URL到内容存储库的默认1:1映射等

如果您遵循它的设计模式和示例,您很可能最终得到一个RESTful的应用程序,具有干净的URL、没有HTTP会话、做正确事情的HTTP方法等等

你们也可以用Sling做一些不安静的事情,但更难的是,你们会用Sling这种自然的方式来做事情


所以Sling自然会引导您使用RESTful应用程序。其他框架可能允许您使用RESTful,或者不使用RESTful,但权重相同。在Sling中,重点显然是保持RESTful,所有的核心工具和技术都可以帮助您实现这一点。

您是对的,但是!!!你可以用1.平直的木头和2.平直的木头建造你的房子。然后把木头的曲线塞进洞里。在这两种变体中,你都会得到房子,但第一种变体更多地对应于建筑。这就是类比的问题。如果你把它们看得太重,它们会阻碍理解,而不是帮助理解。休息是一种建筑风格。不管您是否遵循这种风格,它并不取决于您使用的框架或协议。如果你愿意的话,你可以通过FTP来实现REST。我想说的是,框架可以或多或少地以REST为导向,我很确定这正是问题所要解决的。也就是说,我不相信这个问题是关于这个话题的。你能从sling那里得到HATEOAS格式的回答吗?我不知道如何在sling json响应中包含子引用和父引用。也许我错了,但我认为方法POST(例如)是为创建而设计的,它会更改服务器状态。@gstackoverflow state changing意味着更改绑定到用户的会话中的状态。REST后端在请求之间不应保持任何状态(例如,用户是否经过身份验证)。每个请求都应该提供所有必要的信息。@Warren Dew。可以提供两个框架的详细比较吗?您也可以使用Sling做非RESTful的事情,但更难的是示例Pleases,例如,使用Servlet可以安装在特定路径上,而不是连接到资源类型,这是默认的[1],通常更为RESTful。另外,我认为Sling不会阻止您使用HTTP会话,但默认情况下它不会使用任何会话,因此您不会从框架中获得帮助。[1] 如中所述