try { return ResultWrapper::getResult(Promo::get($page), $response); } catch (Exception $e) { return ResultWrapper::getError($e->getMessage(), $response); } }); $app->get('/promo/{category}/{page}', function (Request $request, Response $response, $category, $page) { try { return ResultWrapper::getResult(Promo::getByCategory($category, $page), $response); } catch (Exception $e) { return ResultWrapper::getError($e->getMessage(), $response); } }); $app->get('/promo-detail/{id}', function (Request $request, Response $response, $id) { try { $promo = Promo::getById($id); if ($promo == null) { throw new Exception("Data not found!"); } return ResultWrapper::getResult($promo, $response); } catch (Exception $e) { return ResultWrapper::getError($e->getMessage(), $response); } }); $app->get('/search/{keyword}/{page}', function (Request $request, Response $response, $keyword, $page) { try { $promos = Promo::search($keyword, $page); if ($promos == null) { throw new Exception("Data not found!"); } return ResultWrapper::getResult($promos, $response);