过去几周我一直在使用 ReSTLet 库,据我所知,它相当令人印象深刻。能够定义供客户端和服务器使用的通用接口(interface)的能力超越了我使用过的任何困惑的肥皂框架。
但是,有些事情一直困扰着我,但我可以克服:
有没有一个好的方法来定义具有多种方法的 ReSTLet?
我的主要用例是我有一个 SOAP Web 服务,其中包含 10-15 个左右的方法。在我看来,如果我想将其转换为 ReSTLet,我需要将其分成 8-15 个接口(interface),具体取决于哪些方法成为 get 方法、post 或 put 方法 - 我认为你不能拥有多个方法每个接口(interface)的动词方法(get、post、put 等)。这似乎是一个麻烦且笨拙的解决方案。
我考虑过使用某种类型的工厂\映射技术来缓解这种情况 - 但我想确保我不会首先错过更好的东西。
谢谢
最佳答案
即使来自 SOAP 背景,您也可能会感到惊讶,您所观察到的实际上是一件好事,因为您的 Web API 正变得越来越 RESTful。
在 REST/HTTP 中,方法是标准且有限的(根据设计),为了补偿,我们根据需要创建尽可能多的资源/URI。
关于 JAX-RS,它不具有相同的客户端/服务器一致性。我建议总体上保留核心 ReSTLet API,因为它更强大/可扩展。
如果您可以列出您的方法名称,这将有助于建议正确映射到 HTTP 资源和方法,我不确定您最终需要那么多接口(interface)。即使是这种情况,服务器端实现也会更容易且更易于维护,这也是有好处的。
希望这有帮助
关于java - 多种方法的 SOAP 到 ReSTLes 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282892/