package net.jrtechs.www.server; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import net.jrtechs.www.graphDB.SteamGraph; import net.jrtechs.www.model.Game; import net.jrtechs.www.model.Player; import java.lang.reflect.Type; import java.util.List; import static spark.Spark.*; /** * Quick and dirty web server to serve as an API backend to * the graph interface. * * @author Jeffery Russell 7-12-20 */ public class WebServer { private SteamGraph graph; private Gson gson; public static String GET_PLAYER = "/player"; public static String GET_GAMES = "/games"; public WebServer() { this.graph = new SteamGraph(); this.gson = new Gson(); Type typePlayer = new TypeToken(){}.getType(); Type typeGames = new TypeToken>(){}.getType(); staticFileLocation("/website"); get("/player/:id", (req, res) -> gson.toJson( graph.getPlayer(req.params(":id")), typePlayer)); get("/games/:id", (req, res) -> gson.toJson( graph.getGameList(req.params(":id")), typeGames)); System.out.println("Finished starting web server"); } public static void main(String[] arguments) { new WebServer(); } }