过去几周我一直在使用Restlet库,从我看到它相当令人印象深刻。能够定义供客户端和服务器使用的公共接口的能力超过了我曾经使用过的任何凌乱的肥皂框架。
然而,有些事情一直困扰着我,我才能过去:
有很好的方法用很多方法定义Restlets吗?
我的主要用例是我有一个soap Web服务,其中包含10-15个左右的方法。正如我所看到的,如果我希望将其转换为Restlet,我需要将其分为8-15个接口,具体取决于哪些方法变为获取方法与post或put - 我不认为你可以有多个每个接口的动词方法(get,post,put等)。这似乎是一个麻烦而笨拙的解决方案。
我曾想过使用某种类型的工厂\地图技术来减轻这种情况 - 但我想确保我不会先错过更好的东西。
由于
答案 0 :(得分:3)
即使来自SOAP背景,也可能会令人惊讶,您观察到它实际上是一件好事,因为您的Web API变得越来越RESTful。
在REST / HTTP中,方法是标准的并且是有限的(按设计)并且为了补偿我们根据需要创建尽可能多的资源/ UR。
关于JAX-RS,它没有相同的客户端/服务器一致性。我建议保留核心Restlet API,因为它更强大/可扩展。
如果您可以列出您的方法名称,这将有助于建议正确映射到HTTP资源和方法,我不确定您最终需要那么多接口。即使是这种情况,服务器端实现也会很容易且更易于维护,这也有好处。
希望这有帮助
答案 1 :(得分:1)
Restlet有一个JAX-RS extension。 JAX-RS提供了@Path
注释,用于标识资源的URI。路径可以附加到类型或方法。然后应该由容器完成路由,而不是明确定义路由器规则。