IBM Cloud Tools for Swiftをつかって、KituraでWebAPIを作ろう
IBM Bluemix User Group(BMXUG)リレー寄稿 第1回
ダウンロード サンプルファイル (22.4 MB)
Object Strageにデータを読み書きする
今回はエンドポイントに"/api"というAPIを作成して、それぞれデータの書き込み、読み込みをできるようにしたいと思います。
| エンドポイント | HTTPメソッド | 説明 |
|---|---|---|
| /api | POST | bodyのデータをsample.jsonに書き込む |
| /api | GET | sample.jsonの情報を読み込む |
まず、main.swiftにObjectStrageクラスの作成します。
var objectStrage = ObjectStrage() objectStrage.getToken()
その下に、書き込みのメソッドを作成します。
router.post("/api") { request, response, next in
response.headers["Content-Type"] = "application/json; charset=utf-8"
let body = NSMutableData()
let _ = try request.read(into: body)
if objectStrage.setData(into: body) {
try response.status(.OK).send("Success!").end()
} else {
try response.status(.OK).send("Error!").end()
}
}
次に読み込みのメソッドを作成します。
router.get("/api") { request, response, next in
response.headers["Content-Type"] = "application/json; charset=utf-8"
let data = objectStrage.getData()
if let jsonData = data {
let value = jsonData["key"].stringValue
try response.status(.OK).send("Get data is \(value)").end()
} else {
try response.status(.OK).send("No data").end()
}
}
作成できたら、ビルドします。ターミナルを開きます。
make run
ビルドが成功したら、APIを叩いてみましょう。curlで以下を実行します。
curl -w '\n' 'http://localhost:8090/api' --data '{"key":"value"}' -XPOST
Success!の文字が返却されたら成功です。
Success!
続いて本当にデータが書き換わっているかを確認します。
curl -w '\n' 'http://localhost:8090/api'
以下の文字列が返却されたら成功です。
Get data is value
IBM Cloud Tools for Swiftでデプロイする
IBM Cloud Tools for Swiftを立ち上げて、作成したAPIをクラウドに上げましょう。プロジェクトページから「Deploy」ボタンを押してデプロイをします。しばらくするとBluemix上でSwiftのアプリが立ち上がります。実際にcurlでAPIを叩いて見ましょう。
curl -w '\n' 'https://first-kitura-project.mybluemix.net/api'
ローカルと同じく以下の文字列が出ていれば成功です。
Get data is value
最後に
今回は、SwiftサーバーサイドのフレームワークKituraでJsonファイルを操作するWebAPIを作成しました。まだまだKituraは始まったばかりのフレームワークですが、IBM Cloud Tools for Swiftのおかげで開発のしやすい環境になっています。
ぜひみなさんも試してみてください。
今「旬」のテクノロジーや革新的なサービスを一挙紹介!
オープンイノベーションを支える国内外の最新事例を始め、最先端の技術を活用しサービスを展開している企業やコミュニティの皆さまより、全32セッション(クラウド・ロボティックス・IoT・DevOps・ビックデーターなど)が予定されています。
インフラエンジニアも、開発エンジニアも、営業の方も、そうでない方も、クラウドを活用した、最新のサービスやテクノロジーに興味のある方ならどなたでも参加していただけます。イベント開催の二日間、今「旬」のテクノロジーやビジネスをお楽しみください。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- IBM Bluemix User Group(BMXUG)リレー寄稿連載記事一覧
- この記事の著者
-
佐藤 剛士(Bluemix User Group)(サトウ タケシ)
「Personal Factory」という屋号でフリーランスとして働く。iOSのエンジニア。アプリ設計、UIデザイン、開発を通して、よりよいアプリの作成を目指す。2011年から2014年独立系のSIerにて保守運用業務。その後有限会社カイカイにてプロダクト企画、iOSアプリの開発、Web開発に携わる。渋谷で毎週iOSエンジニアのための朝活Swiftプログラミング勉強会を2015年から運営。技術ブログPersonal Factoryを運営。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
