速成班101
10 模块
5 周数

外部API请求

点击复制

在实践中使用Appmaster.io发送外部API请求


没有太多的理论?

让我们把它付诸实践。让我们打开AppMaster,使用它创建一个API请求,并更好地了解这个请求是如何工作的。

创建外部API请求

External API Request

API请求是在 "业务逻辑 "部分的 "外部API请求 "标签中创建的。

是时候点击 "+新API请求 "了

New API Request

名称和描述可以设置为任何内容,它们只供我们个人使用。

让我们来处理真正重要的数据。

创建一个请求的最低要求是指定其方法和地址(URL)。让我们从最后一项开始。

URL and Method

URL

URL - 统一资源定位器。给予互联网上特定资源的一个地址。这种资源最熟悉的版本是一个HTML页面--我们在浏览器的地址栏中输入其URL,然后打开所需的网站。同时,资源本身可以是任何东西,一张图片、一段视频、一个数据集。最主要的是,这种资源有一个特定的指针--一个URL,你可以向它发送请求以获得这种资源。

方法

在提到数据的地址时,我们也指出了请求的方法(你也可以说是类型),也就是说,我们指出了实际上需要用这个数据做什么。

当我们为第一个模块的任务发送请求时,我们收到了数据。这就是GET方法。这种方法是最明显的方法,也是唯一需要的方法。因此,即使我们没有明确指定它,仍然默认为这是GET。

让我们来看看还有哪些方法存在。

Request methods

HTTP标准本身并没有限制可以使用的方法的数量。同时,为了保持兼容性,只有一些最标准的方法仍然被使用。在AppMaster的API请求中,有5种不同的方法可以使用。

GET。它已经被处理过了。该方法请求提供一个资源,并接收数据。

POST。要从某个地方获取数据,你首先需要把这个数据放在那里。POST方法就是这样做的。向服务器发送数据,创建一个资源。

PUT。与POST方法类似,但它的工作是更新数据。它不创建新的数据,而是替换现有的数据,更新它。

DELETE。顾名思义,它删除了数据。

PATCH。该方法与PUT类似,但用于部分更新数据,而不是完全替换数据。例如,使用PATCH方法,你可以改变一篇文章的标题,或改变一些参数的值。

重要的是要考虑到这样一个事实:服务器根本不需要完全按照方法中指定的内容去做。我们可以用DELETE方法发送某个页面的地址,但这并不意味着服务器会真的删除它。但是,纯粹从理论上讲,他可以用GET命令来做这件事。或者不改变任何东西,但同时在响应POST的时候发送数据。只是因为开发者是这样配置的。

这就是REST发挥作用的地方,它说是时候同意遵守命令了,停止混乱,完全按照方法中的指示去做。至少,这应该是主要任务(尽管不一定是唯一的任务)。例如,当使用GET方法传输一篇文章的内容时,你可以同时将其浏览次数的计数器增加1。

所以,我们弄清楚了数据的位置以及可以用它做什么。让我们更进一步,让我们看看这个请求还能有哪些组件。

URL参数

Request components

URL参数。有些情况下,我们只知道URL的一部分。一个例子是Appmaster.io网站上的文章。所有文章的起始地址都是一样的 -https://appmaster.io/blog/。但是,每篇文章都有自己的标题,相应地,它有自己的独立部分,以准确地表明这篇特定的文章。

在这种情况下,要使用URL Params。我们立即规定一般的部分,而将其余部分留待过程中决定。因此,URL被写成这样的形式:https://appmaster.io/blog/:id/

已知部分按原样写,变量部分放在": "符号之后。这个变量部分的名称(已经没有":")被添加到参数列表中。在这种情况下,可以有几个变量部分,其位置在URL的任何地方。

Query params

查询参数

查询参数。还记得我们在第一个模块中向boredapi.com发送了一个请求吗?除了地址之外,还规定了额外的数据。那就是查询参数(Query Params)。

它们被写在URL后面,用一个"?"符号与之分开。参数的名称、符号"="和参数本身的值都有说明。如果同时使用几个参数,它们会被"&"号分开。

然而,在AppMaster中指定参数时,你不需要考虑请求规则。所有的东西都会被自动正确格式化。你只需要指定参数本身的名称并将其添加到列表中。

当数据源是相同的,但数据本身可能是不同的,就会使用查询参数。例如,Boredapi包含了一个巨大的列表,其中有很多事情要做。但我们只对那些针对一个人的感兴趣,这就是我们在请求参数中指定的内容。

另一个用例是限制数据的数量。例如,我们可以访问一些列表,但只请求其中的前5条。这个数量也可以是一个查询参数。

另一个选项是一个访问密钥。你可能已经在模块1中提到Alphavantage时使用了这个选项。只有在注册并在请求参数中发送个人密钥后,才能获得数据。

请注意你在互联网上访问的网页,你可能也会在其中发现各种参数。例如,打开Ventusky.com的天气页面,在查询参数中会发送经度和纬度的地理值。

页眉

头信息。请求头信息。通常头文件包含关于请求的服务信息(元信息)。头信息允许服务器获得更多关于请求数据的客户端的信息。头信息可以包含关于使用哪种浏览器的信息,期望响应采用什么编码,用什么语言,请求的确切时间,等等。在访问受保护数据的情况下,头文件可能包含一个授权密钥。

在大多数情况下,头文件是可选的。甚至在第一个模块中,我们已经提出了一个没有指定任何头信息的请求(尽管这并不意味着该请求实际上是在没有头信息的情况下发送的)。

头部

身体。请求主体。GET请求通常不需要它,但如果我们想向服务器发送一些数据,发送POST或PUT请求,那么这些数据就放在请求正文中。同时,你可以在请求体中放置任何复杂的数据,例如,发送一个视频文件,而不局限于一些数字或一个文本字符串。

Was this article helpful?
还在寻找答案吗?
加入社区