Kotlin 1.1.61 + Spring で Web Application を作る (3 of 4)


Kotlin 1.1.61 + Spring で Web Application を作る (2 of 4) の続きです。

Web API を作る

HTMLで表示するViewは作りましたから、次は API を作ります。 一覧が取得できる簡単な API を考えます。

コントローラのメソッドの返り値として、 Kotlin の Map を返すとうまく JSONにして返してくれます。 JSONの形もいろいろと変更できるようにしておきたいので、 TaskJsonView オブジェクト を作り、Map を作る関数を実装します。

JSON用Viewを作る

Kotlin では mapOf を使って map を定義でき、 JSON 構造 の 見た目を保ちながらオブジェクトを作成することができます。 MutableMap を作って要素をひとつずつ設定していくことも可能です。

こうしてできた TaskJsonView を TaskController で使用します。 TaskController には次のメソッドを追加します。

サーバを起動して、 http://localhost:8080/task へ JSON のGETリクエストをすると、次の結果が返ります。 リクエストヘッダには "Accept=application/json" をつける必要があります。

成功時のデータを {"data": { ... }} という形で返すようにしています。 この枠組みは成功時のJSONレスポンスでは変わらないので共通部分を LayoutJsonView にまとめます。

そして TaskJsonView の list メソッドを書き換えます。

Kotlin 1.1.61 + Spring で Web Application を作る (4 of 4) に続きます。