据我所知,大多数人会认为这是一个多余的问题,但我很困惑,必须清除它。我在Google上搜索过它,已经看过十几个问题并回答但没有成功。
创建更令人困惑的部分是,我们使用什么(api或web服务)?我不想在这里开始讨论API与Web服务的争论我只需要用简单的单词来说明一个很好的例子,它将告诉我们在哪里使用API以及我们使用Web服务的地方,我想这对理解真的很有帮助。一个好的现实世界的例子,可能是。
感谢您的时间。
答案 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 - 这里有一些实用的评论:
比WS更轻量级,但你必须自己做所有事情(安全性,解析,......)。在WS中,您可以通过WS-I*
获得所有内容。
因为轻量级和JSON等现在在网页开发中更受欢迎。
提供API - REST和WS有时很有用。
实用示例 - 我们在企业中使用的归档解决方案具有仅基于REST的本机API。这是因为整个开发基于轻量级原则和REST maches更好,并且由我们更好地维护。对于客户需要WS的那些实现,我们使用简单的桥接。
最后但并非最不重要的建议是 - 使用对你更好的一个,两者都很好。