API与WebService - 使用混乱 - 需要真实世界的例子

时间:2014-12-29 12:54:20

标签: web-services rest

据我所知,大多数人会认为这是一个多余的问题,但我很困惑,必须清除它。我在Google上搜索过它,已经看过十几个问题并回答但没有成功。

创建更令人困惑的部分是,我们使用什么(api或web服务)?我不想在这里开始讨论API与Web服务的争论我只需要用简单的单词来说明一个很好的例子,它将告诉我们在哪里使用API​​以及我们使用Web服务的地方,我想这对理解真的很有帮助。一个好的现实世界的例子,可能是。

感谢您的时间。

4 个答案:

答案 0 :(得分:1)

好的,关于你的问题,Web服务是一种API,但它是基于Web的。开发人员可以将代码连接到此,可以与自己的代码进行通信,以执行某些操作。这方面的一个例子是牛津词典API,您可以在其中发送一个单词,它将回复它们的含义。

另一方面,API不必是基于Web的,因此,例如,OpenGL或SpriteKit是非基于Web的API的示例,您可以为其提供操作和输出的数据。

希望这有帮助!

奥利

答案 1 :(得分:0)

Web服务通常提供WSDL,您可以从中自动创建客户端存根。 Web服务基于SOAP协议。 Web API是一个较新的Microsoft框架,可帮助您构建REST based interfaces。响应可以是JSON或XML,但是无法自动生成客户端,因为Web Api不提供Web服务中的WSDL之类的服务描述。因此,这取决于您的要求您要使用哪种技术。只需查看MSDN文档或更多详细信息。

Web正在转向Web API / REST。 Web Services实际上并不比Web API好。开发非常复杂,它们会占用更多资源(带宽和RAM)......并且由于所有数据转换(REQUEST->XML->DATA->RESPONSE->XML->VALIDATION->CONVERSION->DATA)都非常慢。

EG。在WebAPI中,您可以打包数据,将其压缩并在客户端上解压缩+解包。

答案 2 :(得分:0)

在我看来,如果我们认为API实际上是某种Web API,它就像Web服务一样。话虽如此,API具有更广泛的含义,如here所述。 API也在网络外使用

答案 3 :(得分:0)

不确定API是什么意思 - REST? WS也是一种API(应用程序编程接口)。

如果你的意思是REST vs WS - 这里有一些实用的评论:

REST

  • 比WS更轻量级,但你必须自己做所有事情(安全性,解析,......)。在WS中,您可以通过WS-I*获得所有内容。

  • 因为轻量级和JSON等现在在网页开发中更受欢迎。

WS

  • 更多可用的工具以及公司银行,电信公司或公用事业环境更受欢迎(来自我的实践)。

提供API - REST和WS有时很有用。

实用示例 - 我们在企业中使用的归档解决方案具有仅基于REST的本机API。这是因为整个开发基于轻量级原则和REST maches更好,并且由我们更好地维护。对于客户需要WS的那些实现,我们使用简单的桥接。

最后但并非最不重要的建议是 - 使用对你更好的一个,两者都很好。