我们有一个给定的 REST 接口(interface):
POST /calculation
<data>abc</data>
此计算可以根据服务器配置由不同的逻辑“计算器”实现。
我们现在正在设计每个计算器必须实现的Java接口(interface)。该接口(interface)将为每个 REST 服务提供一个方法。
鉴于所有 REST(和 HTTP)调用都是无状态的,每个方法都应该是静态的。但是,您不能在 Java 接口(interface)中定义静态方法。这种情况有好的解决方法吗?
我们可以将方法定义为非静态方法,然后首先创建计算器类的实例。通过在接口(interface)中使用 static 关键字来指示这些方法是无状态的似乎更清晰。
最佳答案
无状态 并不意味着静态。无状态意味着组件不依赖于状态。我说组件,因为接口(interface)的整个实现实际上是无状态的——它不会有任何成员变量。所以实现类的多个实例是完全可以的。特别是如果您有管理它们的上下文 - 例如 Spring 或 EJB。
关于Java接口(interface)静态方法解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1724502/