【问题标题】:Is Web API and Service synonymous in web development world?Web API 和服务在 Web 开发世界中是同义词吗?
【发布时间】:2017-01-11 05:55:09
【问题描述】:

我是网络编程的新手,时不时地对所使用的不同术语感到困惑。我正在浏览 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”和“服务”在 Web 编程范式中是同义词吗?提前致谢。

编辑:我认为我的问题仍然有些不清楚。所以,澄清一下 -

来自不同的来源,我在 ASP.NET Web API 上有以下两个不同的概念,但它们都在实现相同的东西 -

  1. ASP.NET Web API 用于创建 Web API
  2. ASP.NET Web API 用于创建 HTTP 服务

现在,我确实知道什么是 API,以及什么是服务(或 Web 服务)。我是从纯 Web 开发的角​​度提出这个问题,因为我对这个 Web 编程领域完全陌生。

那么,API(或 Web API)和服务这两个术语在 Web 开发(一般来说,或在 .NET Web 开发中)可以互换使用还是同义词?

【问题讨论】:

  • 基本上,API 是您的后端和前端之间的一层,所有这些部分都可以为您的客户/用户提供一些服务。此外,使用 API,您可以为其他开发人员提供部分功能以使用它。 F.e.我们有存储一些业务数据的数据库,我们有一个 API 在我们的前端提供这些数据,并且是其他部门服务/后端等的后端。这就是我理解 API/服务范例的方式。

标签: web-services api asp.net-web-api


【解决方案1】:

您不能互换使用服务、API 和 Web API。他们都是不同的。但您可以交替使用 Web API 和 Web 服务。

简而言之:

API: API 代表应用程序编程接口,它是一种协议,用作软件组件相互通信的接口。 API 用作两个不同应用程序之间的接口,以便它们可以相互通信。这样一来,所有的 Web 服务都是 API,因此 API 是一个更广泛的概念。

网络服务/网络 API: 从技术上讲,所有 Web 服务/Web API 都是 API,此外,这些 API 通过网络(如万维网)在两个系统之间通过 HTTP 进行通信。

服务:服务有许多不同的含义,具体取决于它们所谈论的上下文。

【讨论】:

    【解决方案2】:

    API

    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 来执行以下操作:

    • 获取所有客户信息 (GET)
    • 按 ID (GET) 检索客户信息
    • 创建新客户 (POST)
    • 删除客户 (DELETE)
    • 编辑客户 (PUT)

    RESTful

    术语 RESTful 指的是一种构建 API 的方式。查看this question 的最佳答案以获得出色的定义。

    辅助功能

    客户端可以直接访问 API(公共 API)。有时它们无需身份验证即可供公众访问,有时它们需要 API 密钥来验证您是否有权使用 API。

    【讨论】:

      【解决方案3】:

      不,它们不是同义词。 API 是如何使用另一个组件、库或系统的合同/规范;所以这是一个非常广泛的概念。服务这个词本身有很多不同的含义。

      就网络服务而言,网络服务是/提供 API(或至少:API 的实现),但这并不意味着所有 API 都是(网络)服务。

      【讨论】:

        猜你喜欢
        • 2015-03-20
        • 2016-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-28
        • 2011-02-10
        • 2017-03-28
        • 1970-01-01
        相关资源
        最近更新 更多