强型闯入DenoLand[27] - Web API 介绍

Node.js之父新专案Deno 1.0正式亮相| iThome

强型闯入DenoLand[27] - Web API 介绍

终於来到本系列文的最终阶段 - Web API 设计与实作,这部分会讲的非常细,包含 Web API 设计理念、设计、实作,并且学习使用 Oak, Denon, denomongo, mongoDB, postman 实作出并测试属於自己的第一个 Deno Web API。

进入正题

Web API ,顾名思义就是藉由 Web 服务提供的软件外部接口。更精确一点的说法则是使用 HTTP 协定通过网路调用 API

以本系列会做出的作品为例,访问以下 URL:

http://127.0.0.1:3001/user/Ian

便可以得到 Web API 回传的资料:

{"_id":{"$oid":"5f50d090f7e761bf69556865"},"name":"Ian"}

只要你愿意,也可以做出一个加减乘除的 API ,不过这个 API 就没有太多实用性了。

Web API 的重要性

现今资讯届龙头之一的 Amazon 早在 10 多年前就开始提供了 Web API ,在当时便很大的影响互联网世界。

为什麽呢? 因为商家能够透过该 API 将 Amazon 上的商品内嵌到自己的网站进行销售,进而向 Amazon 分取利润。

这样的商业模式,也让 Amazon 的收益快速成长,更在日後提供了 EC2, S3...等服务。

API 的多样性

如果读者是一位 Modern Web 的居民,对於前後端分离的观念肯定不陌生。前後端分离的概念被越来越多的企业、开发者采用,这也意味着: 多数网页服务的背後都是有一个或多个 Web API 支撑起来的。也因为这样,让 Web API 被应用在多种情况:

  • 已发布的 Web 服务透过 API 公开

    以国内知名的迷片网站 Avgle 为例,该网站本身是以网页形式提供服务的,不过它其实也有开放 Web API 让开发者能够拿来料理成属於自己的 APP 。

    关键字大概就是: Avgle, Web API XDDDD

  • 插件功能

    以 CodePen 为例,它提供了内嵌式的插件让开发者能在自己的网站上嵌入他人分享在 CodePen 上的程序码/编译结果。

    或是 Youtube 同样也有提供 API 让开发者可以在网站上嵌入迷你的播放器。

  • 用於制作 SPA (Single Page Application)

    有越来越多的网站以 SPA 的形式被开发出来,要开发 SPA 就必须利用前後端分离的概念实作,因此也会广泛的使用到 Web API 。

  • 整合多项系统

问与答: Web API 与 Restful API 的差异

常常听到大家说的 Restful API ,至於为何在本系列是强调 Web API 入门呢?

其实 Restful API 就是遵照 Representational state transfer 所实作的 Web API ,本系列文目前没有这个打算。因此,才会强调是 Web API 的介绍唷!

延伸阅读

同样的事情在不同人眼中可能会有不同的见解、看法。

在读完本篇以後,笔者也强烈建议大家去看看以下文章,或许会对型别、变数宣告...等观念有更深层的看法唷!


<<:  [影片]第28天:物件导向程序设计-类型转换(实例109~111)

>>:  [Golang]Go语言的关键字少,共25个

Day22 - Sort2

大家好,我是长风青云。今天是铁人赛第二十二天。 因为我堂姊一直跟我说话所以影片没办法录。先发。 成功...

【企业 WFH 新型态,文件加密护资安】活动分享

跟大家分享一个线上研讨会,有兴趣的可以参考喔~ 居家办公、分流上班等远距办公的企业模式,俨然默默地成...

Day 18:专案03 - PTT 八卦版爬虫03 | 文章标题、作者、时间

哎呀哎呀,开学後变得好忙阿,连一天写一篇的时间都没有,果然先预留点文章是对的。参赛前还以为30天很短...

Day 02:软件业界常用软件

前言 为什麽先介绍软件 在开始进入工程师的世界之前,先来了解工程师平常使用的工具。 就能开始用这些工...

Day9 周末居酒屋-明太子山药 ft 香煎牛小排、鱼卵沙拉

居酒屋的热门料理,一直很想要试试看明太子料理,疫情期间比较没办法跟三五好友一起到居酒屋,周末就在家自...