我的工作场所不断出现的一个问题是为我们创建的Java休息服务创建客户端。我们有4种不同的编程语言可供支持,为每种编程语言创建客户端的成本很高。这通常意味着我们的Web服务无法以跨平台方式提供,因为我们很少有时间构建所有客户端。
SOAP提供了这种类型的发现和基于使用WSDL的工具创建的机器创建的客户机制,但我们的架构方向是用Java编写基于REST的服务而不是SOAP服务。
我们也不希望手工编写暴露这些REST Web服务的WSDL文档。在.NET环境中,WCF和ASMX Web服务自动创建WSDL以供其他应用程序使用,但这不是我的团队可以追求的方向。
这可以通过某种方式为基于Java的REST服务完成吗? 如何在不投入大量体力劳动的情况下完成这项工作?
我们目前正在使用弹簧控制器,但如果能提供更好的速度,可能会争论不同的Java框架。
答案 0 :(得分:0)
Jersey (JAX-RS implementation) has support for WADL。您可以使用Jersey自动生成WADL,并且还支持generating Java clients from the WADL。
这是针对Java的,我不知道它是否不仅仅是基本的支持,但我怀疑你是否可以将其用于4种不同的编程语言。
您可能希望首先阅读这些内容(tl; dr:REST不仅仅是CRUD样式的Web API,而且与SOAP不同):
答案 1 :(得分:0)
您可能需要检查第三方工具,例如swagger(http://swagger.io/)和mashery。我知道swagger支持客户端生成。