在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
语句来处理它。
现在,我们创建了一个名为json
的dictionary
,现在可以打印响应的正文。
应该在控制台中像这样获得body
:
现在,我们知道了如何执行GET请求并将JSON响应解包到字典中并访问该值,让我们来看看如何进行POST请求。
POST请求
这是POST请求的简单示例:
一旦运行,您应该在Xcode控制台中看到一个输出,其中的标题已打印出来:
包起来
我希望本文对使用Alamofire进行GET和POST方法提供了有价值的信息。 与往常一样,如果您有任何建议或问题,请随时与我们联系。