IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iOS / iPhoneからRESTFulサービスにアクセスするにはどうすればよいですか?


SwiftでRESTAPIにアクセスするには、Swiftでのネットワークのネイティブな方法、つまりURLセッションとデータタスクを使用する一連の手順を実行する必要があります。

RestはRepresentationalStateTransferの略で、Webサービスで使用される一連の制約を定義します。迅速に、次の方法でWebサービスにアクセスできます。

  • まず、デフォルト構成のセッションオブジェクトを作成する必要があります。

let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration)
  • 次に、必要なタイプのURLリクエストを作成する必要があります。これにより、取得、投稿、削除、または配置できます。この例では、「GET」タイプが表示されています。

let url = URL(string: URLString)
//let url = NSURL(string: urlString as String)
var request : URLRequest = URLRequest(url: url!)
request.httpMethod = "GET"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
  • リクエストオブジェクトを作成したら、上記で作成したURLを使用してdataTaskを実行する必要があります。これが、完全なdataTaskメソッドが現在どのように見えるかです。

let dataTask = session.dataTask(with: url!) {
data,response,error in
   guard let httpResponse = response as? HTTPURLResponse, let receivedData = data
   else { print("error: not a valid http response")
      return
   }
   switch (httpResponse.statusCode) {
      case 200: //success response.
      break
    case 400: break
      default: break
   }
}
dataTask.resume()
  • これで、これを関数に埋め込んで、コードで使用できるようになりました。

func hitAPI(_for URLString:String) {
   let configuration = URLSessionConfiguration.default
   let session = URLSession(configuration: configuration)
   let url = URL(string: URLString)
   //let url = NSURL(string: urlString as String)
   var request : URLRequest = URLRequest(url: url!)
   request.httpMethod = "GET"
   request.addValue("application/json", forHTTPHeaderField: "Content-Type")
   request.addValue("application/json", forHTTPHeaderField: "Accept")
   let dataTask = session.dataTask(with: url!) {
      data,response,error in
      // 1: Check HTTP Response for successful GET request
      guard let httpResponse = response as? HTTPURLResponse, let
      receivedData = data
      else {
         print("error: not a valid http response")
         return
      }
      switch (httpResponse.statusCode) {
         case 200:
            //success response.
            break
         case 400:
            break
         default:
            break
      }
   }
   dataTask.resume()
}

−一部のAPIにアクセスするには、info.plistファイルでトランスポートセキュリティの例外を許可する必要がある場合があります。

一部のデータを取得するにはAPIが必要であるため、この例では出力は示されていません。


  1. iOS 15 から iOS 14 にダウングレードする方法

    最新のアップグレードと更新を試すには、ベータ版が適しています。ただし、すべてが日常の使用で問題なく機能するわけではありません。興奮して iOS 15 にアップグレードしたのに、その決定を後悔している場合。 iOSの安定版であるiOS 14.6に戻す方法は次のとおりです。 iOS 14.6 にダウングレードする最も簡単な方法は、iOS 15 ベータ プロファイルを削除し、次のアップデートを待つことです。その方法は次のとおりです。 iPhone の [設定] に移動し、[一般] をタップします。 [プロファイルとデバイス管理] をタップします。 プロファイルの削除を選択し、iPhone

  2. iOS 12 のインストール方法

    Apple は、待望の iOS 12 のリリース日、つまり 9 月 17 日を発表しました。 .しかし、それまで待ちたくない場合は、iOS 12 のゴールデン マスター バージョンを今すぐインストールできます。そのためには、Apple ベータ ソフトウェア プログラムに参加して、デバイスを登録する必要があります。 この iOS 12 の最終バージョンは、今から 1 週間以内に一般公開され、スクリーンタイム、ミー文字、Siri ショートカット、改善された通知などへのアクセスが許可されます。 注:iOS 12 は、古いものでも新しいものでも、iPhone の応答性とパフォーマンスを向上させるは