Java接口(interface)静态方法解决方法?

标签 java rest interface static-methods

我们有一个给定的 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/

相关文章:

java - 没有Windows任务计划程序来计划任务

web-services - 使用魔术(我/自己)资源标识符是否违反REST原则?

ios - AFNetworking 2.x.x 中的 AFJSONParameterEncoding

C# - 如何在运行时测试哪个 COM coclass 用于实例化接口(interface)?

java - 空白字段上的@Pattern 验证

java - LocationListener 未获取用户的当前位置

javax.ws.rs.ProcessingException : RESTEASY004655: Unable to invoke request

swift - Swift 的异构值类型数组是如何工作的?

java - 错误消息 'Cannot be resolved or is not a field'

java - 如何下载/gunzip文件并获取实际文件的InputStream?