在Swift中与后端交互

如果开发应用程序,则很可能在某个时候会遇到对服务器进行API调用的需求。 有时,这在开始时可能会造成混淆,因此我会帮助您,并为您提供有关如何使用Alamofire进行GET和POST调用的快速概述。

显然,您首先需要安装Alamofire Pod,然后在Podfile文件中添加:

pod 'Alamofire'

然后在终端中,运行pod install

完成后,您可以在Xcode中import Alamofire

由于我们只是在创建演示,因此可以将代码示例放入AppDelegate

简单要求

在这些示例中,我们将使用https://jsonplaceholder.typicode.com/。 它将允许我们与API交互,而无需我们自己的服务器等。

假设它起作用了,您应该在我们的控制台中得到以下内容:

那么我们在这里做了什么?

好吧,我们告诉Alamofire,我们想要对URL“ https://jsonplaceholder.typicode.com/posts/1”的GET请求,并且希望响应以JSON格式返回。

Alamofire如何知道我们想要GET请求?

好吧,默认情况下,Alamofire将执行GET请求,尽管您可以通过添加method参数并使用Alamofire的HTTPMethod枚举(.get,.post,.patch,.options,.delete)来更改它。

这是一个明确表示我们需要.get请求的示例。

现在您很好奇,我们可以获取数据,但是如何获取数据以在我们的应用程序中使用?

如您所见,我们正在请求.responseJSON这意味着我们将响应作为JSON对象返回,我们还可以执行.responseString

对于我们的示例,我们将坚持使用JSON。

要获取JSON对象,我们需要读入response.result.value

如您所见,您收到一条警告,指出response.result.value是可选的。

因此,让我们使用guard let语句来处理它。

现在,我们创建了一个名为jsondictionary ,现在可以打印响应的正文。

应该在控制台中像这样获得body

现在,我们知道了如何执行GET请求并将JSON响应解包到字典中并访问该值,让我们来看看如何进行POST请求。

POST请求

这是POST请求的简单示例:

一旦运行,您应该在Xcode控制台中看到一个输出,其中的标题已打印出来:

包起来

我希望本文对使用Alamofire进行GET和POST方法提供了有价值的信息。 与往常一样,如果您有任何建议或问题,请随时与我们联系。

谢谢!