addRoutingMiddleware(); // for error checking $errorMiddleware = $app->addErrorMiddleware(true, true, true); $app->setBasePath("/api"); $timelineData = new TimelineData(); $app->get("/timelineData/{timeline}", function (Request $request, Response $response, array $args) { global $timelineData; $json = $result = ""; //check if route is available if it is get the data //otherwise return an error if($args["timeline"] == "edu") { $result = $timelineData->getEduData(); } else if($args["timeline"] == "work") { $result = $timelineData->getWorkData(); } else { $result = array(array("errorMessage" => "Error, timeline data not found")); } $json = json_encode($result); $response->getBody()->write($json); //if it is an error give a 404 code since it can't find the data if(array_key_exists("errorMessage", $result[0])) { $response = $response->withStatus(404); } //use content type json to indicate json data on frontend. return $response->withHeader("Content-Type", "application/json"); }); $app->run();