Graph database Analysis of the Steam Network
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

53 lines
1.3 KiB

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<Player>(){}.getType();
Type typeGames = new TypeToken<List<Game>>(){}.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();
}
}