我已经构建了大量的SOAP Web服务,但是正在为特定项目构建REST Web服务,并且我想知道人们用于REST服务的“WSDL”,或者甚至需要它。REST webservice的'WSDL'的首选方法是什么?
7
A
回答
5
您可以尝试Swagger(现在的OpenAPI),它允许使用JSON开放标准来描述REST服务。
0
如果您在REST服务中使用XML,则可以提供XSD。
或者只是XML的例子,应该足以为简单的数据结构解决问题。
7
REST实际上只在资源上使用HTTP动词(GET,PUT,POST,DELETE)。资源上的所有操作都应该以这种方式表示。当您无法以适合其他三种方式表达您的业务逻辑时,POST被用作所有功能。这就是为什么REST服务没有真正的WSDL,因为在资源上只有4种方法。请注意,Zend Framework REST库不是真正的RESTful,更多的是普通的旧式XML(POX)服务。
6
虽然Sam认为RESTful Web应用程序不需要直接模拟WSDL,但有一个XML词汇表对描述RESTful Web应用程序很有用:WADL或Web Application Description Language。在我的公司,我们主要使用WADL为我们想要构建的给定服务定义一个规范 - 我们通常不会以编程方式使用它。也就是说,the WADL home page包含一些用于代码生成的Java工具,而(Java REST框架)包含一个WADL扩展,用于动态连接基于WADL的应用程序,并基于有线应用程序动态生成WADL。我是WADL的粉丝,并建议您检查一下。
1
其实它可以使用WSDL,但它应该是2.0版 - 请参阅“Describe REST Web services with WSDL 2.0”文章。
相关问题
- 1. 什么是WSDL,SOAP和REST?
- 2. 在MonoTouch中调用REST服务的首选方式是什么?
- 3. 注释中注释方法的首选方式是什么?
- 4. 什么是您的软件版本的首选方法?
- 5. 无堆栈Python中TCP/IP IPC的首选方法是什么?
- 6. 组合两个接收器的首选方法是什么?
- 7. 什么是Zend Acl的首选实现方法
- 8. 在SSRS中生成数据集的首选方法是什么?
- 9. 什么是预先分配NumPy数组的首选方法?
- 10. 什么是协调多个默认页面的首选方法?
- 11. 什么是使用bash生成强密码的首选方法?
- 12. C#中事件处理的首选方法是什么?
- 13. 跨线程编组COM接口的首选方法是什么?
- 14. 从Android上传到服务器的首选方法是什么?
- 15. 在.Net中构建Web服务的首选方法是什么?
- 16. Zend 2中本地化的首选方法是什么?
- 17. 在表格中更新字段的首选方法是什么?
- 18. 什么是OS X中进程间通信的首选方法?
- 19. Angular - 终止Observables的首选方法是什么?
- 20. 什么是组织回调的首选方法?
- 21. 现代D的首选控制台输出方法是什么?
- 22. 在猫鼬中定义数组的首选方法是什么?
- 23. 处理缺少DynamicObject成员的首选方法是什么?
- 24. 什么是从JavaScript中调用WebService方法的最好方法?
- 25. 预加载图像<img>的首选方法是什么?为什么?
- 26. Webservice to Android的首选选项
- 27. 在C++中实现工厂方法的首选方法是什么?
- 28. 在NSView-drawRect:方法中绘制直线的首选/推荐方法是什么?
- 29. 返回类型推理:什么方法是首选?
- 30. 什么是jQuery的首选模板库?
我认为这个问题不是关于XML内容的问题,而是与定义API合同和交换数据的形状无关,无论其格式如何。 – 2014-07-28 21:14:14