2017-10-07 5 views
1

Je fais un api sur le cadre mince et j'ai quelques routes commeméthode cadre mince non autorisée gestion des exceptions avec le middleware

$app->group('/api', function() use ($app){ 

    $app->post('/login', '\App\Controllers\Api\Auth\AuthController:postSignIn'); 

    $app->post('/register', '\App\Controllers\Api\Auth\RegisterController:postRegister'); 

}); 

et si j'utilise demande get pour les liens que j'ai eu cette « méthode non autorisée "exception.

Je souhaite gérer cette exception dans le middleware. Est-ce possible et si je peux faire?

Je veux apprendre à écrire et à utiliser le middleware.

s'il vous plaît aidez-moi ...

+0

Que voulez-vous dire en disant "gérer cette exception dans middleware"? Que veux-tu faire exactement? Quelle est la relation entre l'intergiciel et cette exception «méthode non autorisée»? – Nima

Répondre

0

Vous pouvez ajouter une fonction middellare pour cette route comme cette fonction

$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; 
}; 

Après cela, vous pouvez ajouter cette fonction à votre itinéraire comme celui-ci

$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);