Недавно я создал небольшой API, используя платформу Slim PHP, и он отлично работает. Однако я хотел бы установить маршрут GET для корня «/», который отвечает базовым сообщением, и любые другие запросы GET возвращают «доступ запрещен».
Прочитав как документацию, так и различные примеры, я не смог понять, как выполнить любую из этих задач. Мой проект основан только на маршрутах POST, но возможность отвечать на запросы GET, направленные как на корневой домен, так и на любые другие страницы, будет фантастическим.
Код:
// SLIM INSTANCE $app = new \Slim\Slim(); $app->contentType('application/json'); // SLIM ROUTES $app->group('/core', function() use ($app) { $app->post( '/create', 'Create' ); $app->post( '/start', 'Start' ); $app->post( '/stop', 'Stop' ); $app->post( '/delete', 'Delete' ); });
если вы хотите отвечать на разные методы, просто используйте map()
-Method:
$app->map('/create', 'Create')->via('GET', 'POST');
Чтобы зарегистрировать «маршрут по умолчанию», который всегда будет отвечать «access denied», если маршрут не согласован, вы можете переопределить «notFound»-Handler:
$app->notFound(function () use ($app) { $app->response->setStatus(403); //output 'access denied', redirect to login page or whatever you want to do. });
Чтобы выполнить «root-route»: $app->get('/',function(){/*...*/});
должен именно это.