Php slim框架方法不允许使用中间件处理异常
我正在slim框架上制作一个api,我有一些方法,比如Php slim框架方法不允许使用中间件处理异常,php,exception,exception-handling,request,slim,Php,Exception,Exception Handling,Request,Slim,我正在slim框架上制作一个api,我有一些方法,比如 $app->group('/api', function() use ($app){ $app->post('/login', '\App\Controllers\Api\Auth\AuthController:postSignIn'); $app->post('/register', '\App\Controllers\Api\Auth\RegisterController:postRegister'
$app->group('/api', function() use ($app){
$app->post('/login', '\App\Controllers\Api\Auth\AuthController:postSignIn');
$app->post('/register', '\App\Controllers\Api\Auth\RegisterController:postRegister');
});
如果我对任何链接使用get请求,我会得到这个“方法不允许”异常
我想在中间件中处理这个异常。有可能吗?我该怎么办
我想学习编写和使用中间件
请帮助我…您可以像此函数一样为该路线添加一个middellare函数
$GetHandeler=function($req,$res,$next){
if($res->isGet()){
return $res->getBody()->write("Get Method not allowed");
}
if($res->isPost())
$res=$next($req,$res);
return $res;
};
之后,您可以像这样将此功能添加到路线中
$app->group('/api', function() use ($app){
$app->post('/login', '\App\Controllers\Api\Auth\AuthController:postSignIn');
$app->post('/register', '\App\Controllers\Api\Auth\RegisterController:postRegister');
})->add($GetHandeler);
您可以为该路线添加一个middellare函数,如下所示
$GetHandeler=function($req,$res,$next){
if($res->isGet()){
return $res->getBody()->write("Get Method not allowed");
}
if($res->isPost())
$res=$next($req,$res);
return $res;
};
之后,您可以像这样将此功能添加到路线中
$app->group('/api', function() use ($app){
$app->post('/login', '\App\Controllers\Api\Auth\AuthController:postSignIn');
$app->post('/register', '\App\Controllers\Api\Auth\RegisterController:postRegister');
})->add($GetHandeler);
你说“在中间件中处理这个异常”是什么意思?你到底想做什么?中间件与此方法不允许的异常有什么关系?您说“在中间件中处理此异常”是什么意思?你到底想做什么?中间件与此方法的关系是什么?不允许异常?