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

Swiftを使用してiOSアプリでHTTPリクエストを行う方法は?


iOSでhttpリクエストを行うには、DataTaskとセッションを利用します。構成、セッション、URL、リクエスト、およびdataTaskオブジェクトを作成します。実行する手順を見てみましょう。

HTTPリクエストにはさまざまな種類があり、サーバーに対してどのような種類のリクエストを行うかによって異なります。以下は、リクエストの基本的なタイプです。

「GET」、「POST」、「PUT」、「DELETE」、APIに従ってこれらのいずれかを利用できます。以下に示すように、基本はリクエストの種類ごとに同じです。 DELETEタイプのリクエストでこれらの例を見てみましょう。

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

let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration)
  • 次に、必要なタイプのURLリクエストを作成する必要があります。これは、get、post、delete、またはputのいずれかになります。この例では、「削除」タイプが表示されています。

let url = URL(string: URLString)
//let url = NSURL(string: urlString as String)
var request : URLRequest = URLRequest(url: url!)
request.httpMethod = "DELETE"
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()
  • これで、これを関数に埋め込んでコードで使用できるようになりました。

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 = "DELETE"
   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. 予算内で App Store に値する iOS アプリのプレビューを作成する方法

    2014 年に、Apple はアプリのプレビューを App Store に追加できるようにしました。アプリのプレビューは、アプリをダウンロードする前にアプリが提供するものを潜在的なユーザーに示す最良の方法です。実際、StoreMaven によると、ユーザーがアプリのプレビューでアプリをインストールする可能性は 3 倍高くなります。 残念ながら、個人制作者の多くは、プロを雇ってアプリのプレビューを作成する予算がありません。最近、私は自分がこの立場にあることに気付きました。掘り下げた後、高品質のアプリ プレビューを作成するための無料ツールをいくつか見つけました。 この投稿では、次のことについて

  2. iOS 11 で Notes アプリを使用してドキュメントをスキャンする方法

    iOS 11 の導入により、新しい機能がもたらされるだけでなく、既存のアプリの機能も強化されます。特にメモ アプリには、ユーザーが気付いていない可能性のある変更がいくつか見られます。したがって、この記事では、iPhone の既存のメモ アプリとその新機能について説明します。 電子メールで送信する必要があるため、物理的なドキュメントをデジタルに変換するために近くの店に急いで行かなければならないことがよくあります。ええ、携帯電話のカメラでそのドキュメントのスナップを撮って送信する別の方法がありますが、それも最良の選択肢の 1 つではありません。 また読む:iOS 11:知りたいことはすべてここ