■ はじめに
Spark Frameworkで、REST API を作る。 レスポンスの JSON を作成するのに、以前、以下の関連記事で取り上げたGSONを使う。https://blogs.yahoo.co.jp/dk521123/32813165.html
■ 環境設定
* 以下の「build.gradle」を参考に、GSONを追加し、 Eclipseの対象プロジェクトを右クリックし、[Gradle]-[Refresh Gradle Project]を選択
build.gradle
dependencies { # 途中略 compile 'com.sparkjava:spark-core:2.7.0' compile 'org.slf4j:slf4j-simple:1.7.25' compile 'com.google.code.gson:gson:2.8.2' # GSON の追加 // Use JUnit test framework testImplementation 'junit:junit:4.12' }
■ サンプル
Person.java
package com.sample.spark.models; public class Person { private long id; private String name; public Person(long id, String name) { this.id = id; this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
HelloWorldRest.java
import static spark.Spark.get; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import com.sample.spark.models.Person; import spark.Request; import spark.Response; public class HelloWorldRest { public static void main(String[] args) { Gson gson = new Gson(); get("/", HelloWorldRest::getPeople, gson::toJson); } private static List<Person> getPeople(Request request, Response response) { List<Person> people = new ArrayList<>(); people.add(new Person(1L, "Mike")); people.add(new Person(2L, "Tom")); people.add(new Person(3L, "Kevin")); return people; } }
出力結果
ブラウザを立ち上げて、以下のURLにアクセスする[[http://localhost:4567]]
[{"id":1,"name":"Mike"},{"id":2,"name":"Tom"},{"id":3,"name":"Kevin"}]