[Swift通天遁地]4、網絡和線程-(7)檢測服務器接口的訪問狀態:驗證請求結果和可訪問性

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-fzcjwbwx-kv.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示如何使用Alamofire驗證請求結果和可訪問性。git

首先確保在項目中已經安裝了所需的第三方庫。github

點擊【Podfile】,查看安裝配置文件。json

1 source 'https://github.com/CocoaPods/Specs.git'
2 platform :ios, '12.0'
3 use_frameworks!
4 
5 target ‘DemoApp’ do
6     pod 'Alamofire', '~> 4.0'
7 end

根據配置文件中的相關配置,安裝第三方庫。swift

而後點擊打開【DemoApp.xcworkspace】項目文件。服務器

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】微信

如今開始編寫代碼,實現接口訪問狀態檢測的功能。網絡

 1 import UIKit
 2 //在當前的類文件中,引入已經安裝的第三方類庫
 3 import Alamofire
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         //依次測試下文的兩個方法
11 
12         //檢測接口的狀態
13         manualValidation()
14 
15         //更快捷的方式檢測接口的狀態
16         automaticValidation()
17     }
18     
19     //添加一個方法,用來檢測接口的狀態
20     func manualValidation()
21     {
22         //調用網絡操做庫的網絡請求方法
23         Alamofire.request("https://httpbin.org/get")
24             //添加驗證方法
25             //檢測狀態的編碼是否在200至300之間
26             .validate(statusCode: 200..<300)
27             //檢測類型是否爲JSON類型
28             .validate(contentType: ["application/json"])
29             //處理網絡返回的數據
30             .responseData { response in
31                 //根據網絡返回對象的結果,在控制檯輸出不一樣的日誌。
32                 switch response.result {
33                     //檢測成功
34                     case .success:
35                         print("---Validation Successful")
36                     //檢測失敗
37                     case .failure(let error):
38                         //輸出詳細的錯誤信息
39                         print(error)
40                 }
41             }
42     }
43     
44     //添加一個方法,使用更快捷的方式檢測接口的各個狀態
45     func automaticValidation()
46     {
47         //直接檢測接口的可鏈接性。
48         //調用網絡操做庫的網絡請求方法,並處理從服務器返回的JSON數據。
49         Alamofire.request("https://httpbin.org/get").validate().responseJSON { response in
50             //對網絡返回的結果進行處理
51             //根據網絡返回對象的結果,在控制檯輸出不一樣的日誌
52             switch response.result {
53                 //檢測成功
54                 case .success:
55                     print("---Validation Successful")
56                 //檢測失敗
57                 case .failure(let error):
58                     //輸出詳細的錯誤信息
59                     print(error)
60             }
61         }
62     }
63     
64     override func didReceiveMemoryWarning() {
65         super.didReceiveMemoryWarning()
66         // Dispose of any resources that can be recreated.
67     }
68 }
相關文章
相關標籤/搜索