sprayでwebサービス作るチュートリアル 第2回

2014-11-05

前回はsprayのサンプルをsbtで動かしただけでしたが、今回からWebサービスを作っていきたいと思います。
まずはsprayプロジェクトのテンプレートを取ってくるのと、IDEでのデバッグ実行を行いたいと思います。
5分で終わります。

1. テンプレートを取ってくる

sprayは親切なことに、新規プロジェクトを作成する際のひな形を公開してくれています。

これをspray-sandboxという名前でcloneします。

git clone https://github.com/spray/spray-template.git spray-sandbox

※おまけ — Gitリポジトリに登録する

cd ./spray-sandbox

# リモートホストがspray/spray-templateに向いているので、originをupstreamにrenameしておきます。
git remote rename origin upstream

# 自分のリモートホストをoriginに登録します。
git remote add origin git@github.com:x1-/spray-sandbox.git 

git remote -v  
origin  git@github.com:x1-/spray-sandbox.git (fetch)
origin  git@github.com:x1-/spray-sandbox.git (push)
upstream        https://github.com/spray/spray-template.git (fetch)
upstream        https://github.com/spray/spray-template.git (push)

git push origin on_spray-can_1.3_scala-2.11   

まあforkしちゃえばいいんですが。

2. IDEで開く

IDE(ここではIntelliJを使ってます)でcloneしたテンプレートを開きます。

ij1

ダイアログでbuild.sbtを選択します。

ij2

Import設定ではすべてチェックします。しておいた方が便利なので、、、(;´Д`)

ij3

これでIntelliJでこのプロジェクトを操作することができます。
※必要なファイル類はImport時に生成されます。

3. デバッグしてみる

IDEを使うメリットの一つに手軽なデバッグがあります。
なので、まずは手を入れていく前に、IDEでデバッグできるか確認してみましょう。

IntelliJのEdit Configurationに実行設定を追加します。

ij4

Edit Configurationで+をタップしApplicationを選択します。

ij5

Applicationを追加したら、Mainクラスとしてcom.example.Bootを入力します。
モジュールはspray-sandboxを選択します。

できたらcloseしましょう。
これで準備完了です。

あとは適当な箇所にブレイクポイントを置いて(コードの横をタップするだけです)実行してみましょう。

ij7

正常に実行できたら、ブレイクポイントで止まり、Step Overすればコンソールに上記のようなメッセージがでます。
落とす前にブラウザで表示確認してみましょう。

http://localhost:8080/にアクセスします。

スクリーンショット 2014-11-05 9.13.48

Say hello to spray-routing on spray-can!

と表示されるのが確認できます。
なんか前回と似た感じになってしまいましたが^^;
次はこのテンプレートを使ってページ階層を作成していきます。