■ はじめに
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"}]