SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

IBM Bluemix User Group(BMXUG)リレー寄稿

IBM Cloud Tools for Swiftをつかって、KituraでWebAPIを作ろう

IBM Bluemix User Group(BMXUG)リレー寄稿 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Object Strageデータを操作するメソッドを作成

 トークンデータを作成したので、次はデータを操作するメソッドを作っていきましょう。NSDataを引数に成功したかどうかのBool値を返すsetData(into:)メソッドを作成します。

func setData(into data: NSData) -> Bool {

    var isSuccess = false
    
    //トークンを元にリクエストを投げる
    if !(xAuthToken == "") {
        var requestOptions: [ClientRequest.Options] = []
        requestOptions.append(.schema("https://"))
        requestOptions.append(.hostname(self.publicAccessPoint))
        requestOptions.append(.path("/v1/AUTH_" + self.projectId  + "/" + self.containerName + "/" + self.fileName))
        requestOptions.append(.method("PUT"))
        
        var headers = [String:String]()
        headers["X-Auth-Token"] = xAuthToken
        headers["Content-Type"] = "application/json"
        requestOptions.append(.headers(headers))
        
        let request = HTTP.request(requestOptions) { response1 in
            
            do {
                let body = NSMutableData()
                try response1?.readAllData(into: body)
                isSuccess = true
            } catch {
                print("error")
                
            }
        }
        request.end(data)
    }
    return isSuccess
}

 続いて、Object Strageデータを取得するメソッドを作成します。成功すればSwiftyJSONのJSONクラスを返し、失敗すればnilを返すメソッドです。

func getData() -> JSON? {

    if !(xAuthToken == "") {
        var requestOptions: [ClientRequest.Options] = []
        requestOptions.append(.schema("https://"))
        requestOptions.append(.hostname(self.publicAccessPoint))
        requestOptions.append(.path("/v1/AUTH_" + self.projectId  + "/" + self.containerName + "/" + self.fileName))
        requestOptions.append(.method("GET"))
        var headers = [String:String]()
        headers["X-Auth-Token"] = xAuthToken
        headers["Content-Type"] = "application/json"
        requestOptions.append(.headers(headers))
        var responseJson = JSON("")
        let request = HTTP.request(requestOptions) { response1 in
            
            do {
                let body = NSMutableData()
                try response1?.readAllData(into: body)
                
                let jsonBody = JSON(data: body)
                
                responseJson =  jsonBody
                
            } catch {
                print("error")
                
            }
        }
        request.end()
        return responseJson
    } else {
       return nil
    }   
}

今「旬」のテクノロジーや革新的なサービスを一挙紹介!

 オープンイノベーションを支える国内外の最新事例を始め、最先端の技術を活用しサービスを展開している企業やコミュニティの皆さまより、全32セッション(クラウド・ロボティックス・IoT・DevOps・ビックデーターなど)が予定されています。

 インフラエンジニアも、開発エンジニアも、営業の方も、そうでない方も、クラウドを活用した、最新のサービスやテクノロジーに興味のある方ならどなたでも参加していただけます。イベント開催の二日間、今「旬」のテクノロジーやビジネスをお楽しみください。

次のページ
Object Strageにデータを読み書きする

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
IBM Bluemix User Group(BMXUG)リレー寄稿連載記事一覧

もっと読む

この記事の著者

佐藤 剛士(Bluemix User Group)(サトウ タケシ)

「Personal Factory」という屋号でフリーランスとして働く。iOSのエンジニア。アプリ設計、UIデザイン、開発を通して、よりよいアプリの作成を目指す。2011年から2014年独立系のSIerにて保守運用業務。その後有限会社カイカイにてプロダクト企画、iOSアプリの開発、Web開発に携わる。渋谷で毎週iOSエンジニアのための朝活Swiftプログラミング勉強会を2015年から運営。技術ブログPersonal Factoryを運営。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9622 2016/09/07 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング