我是网络编程的新手,我时不时会对使用的不同术语感到困惑。我正在浏览ASP.NET Web API,我注意到很多文章,课程说的是Creating RESTful web api with ASP.NET Web API 2
等等。他们正在做的是实现GET,POST,PUT,DELETE方法。所以他们基本上是向客户公开数据服务,对吧?那为什么是API(应用程序编程接口)?
http://www.asp.net/web-api网站上写着ASP.NET Web API is a framework that makes it easy to build HTTP services that...
所以,我又搞糊涂了。网络编程范例中的术语“API”和“服务”是同义词吗?提前致谢。
编辑:我认为我的问题仍然有些不清楚。所以,澄清一下 -
从不同的来源我在ASP.NET Web API上有以下两个不同的概念,但它们都在实现相同的东西 -
现在,我知道API是什么,以及什么是服务(或Web服务)。我从纯粹的Web开发角度问这个问题,因为我对这个Web编程领域完全不熟悉。
那么,API(或Web API)和服务这两个术语是否在Web开发中(通常或在.NET Web开发中)可以互换或同义使用?
答案 0 :(得分:0)
API(应用程序编程接口)是用于构建应用程序和服务的工具。 API通常返回某些数据的结构化响应(通常是XML或JSON)。
假设您在数据库中有一个简单的客户表:
+----+-----------+----------+-------------------------+--------------+------------+
| id | firstName | lastName | email | phone | createDate |
+----+-----------+----------+-------------------------+--------------+------------+
| 1 | Marc | Johnson | marc.jo@hotmail.com | 202-555-0112 | 2016-09-03 |
| 2 | James | Jackson | jojgo@gmail.com | NULL | 2014-05-02 |
| 3 | Joe | Smith | joe.smith35@hotmail.com | NULL | 2015-12-12 |
| 4 | Julie | Brown | smjuli@yahoo.com | 202-555-0192 | 2014-01-29 |
+----+-----------+----------+-------------------------+--------------+------------+
您将创建API以执行以下操作:
术语RESTful指的是构建API的方法。查看this question的最佳答案,以获得出色的定义。
客户端可以直接访问API(公共API)。有时,他们无需身份验证即可访问公众,有时他们需要API密钥来验证您是否有权使用API。
答案 1 :(得分:0)
不,他们不是同义词。 API是合同/规范如何使用其他组件,库或系统;所以这是一个非常广泛的概念。服务这个词本身就有很多不同的含义。
对于webservice,webservice是/提供API(或至少:API的实现),但这并不意味着所有API都是(web)服务。
答案 2 :(得分:0)
您不能互换使用服务,API和Web API。他们都是不同的。但是您可以互换使用Web API和Web服务。
简而言之:
API: API代表应用程序编程接口,它是一种协议,软件组件用作相互通信的接口。 API充当两个不同应用程序之间的接口,以便它们可以彼此通信。这样,所有Web服务都是API,因此API是更广泛的概念。
Web服务/ Web API: 从技术上讲,所有Web服务/ Web API都是API,此外,这些API在两个系统之间通过HTTP通过网络(如万维网)进行通信。
服务:服务具有许多不同的含义,取决于它们所谈论的上下文。
答案 3 :(得分:0)
它们都是不同的。 Web服务是一种在连接到网络的机器之间进行相互通信和实现能力的方法。无论是公共网络服务还是非公共网络服务,它们都必须在网络世界中变得极为流行。通常,交互依赖于客户和服务器之间的因果请求和响应,这些因果请求和响应结合了网站开发公司的知识。
客户请求信息通常会将知识发送到服务器,因此它将是其请求的一种方法。服务器生成一个响应,将其发送回购物者;附加属于该反应一部分的另一条知识链。因此,当您雇用Web开发人员时,他们会将在线服务视为两台计算机之间的通信服务。