J'ai une telle voie dans mes voies/web.phpLaravel 5.5 Demande est vide dans le contrôleur Restful
Route::resource('/api/surveys', 'SurveyController');
Comme dit la documentation, il crée toutes les voies nécessaires pour l'API. Cette fonction, qui est exécuté quand je vais pour/api itinéraire/enquêtes: si oui,
public function index()
{
$request = request();
if(!$request->hasHeader('token')) {
return "No auth token found.";
}
$tokenCheck = $this->userService->isTokenValid($request->header('token'));
if($tokenCheck !== true) {
return $tokenCheck;
}
return $this->surveyService->all();
}
Ce qu'il fait, il vérifie si le paramètre d'en-tête jeton est défini, sinon, elle renvoie une erreur, vérifie si le jeton est valide et etc. si tout est OK, il doit renvoyer les enquêtes de la base de données.
public function surveys() {
$request = \Request::create('/api/surveys', 'GET');
$request->headers->set('Accept', 'application/json');
$request->headers->set('token', \Cookie::get('token'));
$response = \Route::dispatch($request);
print_r('<pre>');
print_r($response);
print_r('</pre>');
}
J'ai un site Web, qui devrait utiliser cette API que je viens de créer pour obtenir tous les enregistrements d'enquête. Je crée un nouvel objet de requête, définissez l'en-tête "token" avec le jeton que je reçois d'un cookie, puis j'essaie de l'envoyer et d'obtenir une réponse. Mais le problème est que chaque fois que je reçois "Aucun jeton d'authentification trouvé." Erreur. Cela signifie que $ request-> hasHeader ('token') renvoie false, même si je l'ai défini ici dans ma requête. Si j'imprime $ request-> all() dans Restful controller, j'obtiens un tableau vide.
J'ai essayé Postman d'accéder à cette API avec un paramètre de jeton, et cela fonctionne très bien dans le facteur, mais ici, il semble que la requête disparaisse pendant qu'elle se déplace vers le contrôleur API.
Qu'est-ce que j'ai fait de mal ici?
Obtient l'objet de requête en tant que paramètre dans la fonction d'index. – Amin
J'ai essayé, mais ça ne marche pas non plus. – cinik11
[Voir ceci] (https://stackoverflow.com/questions/23505875/laravel-routeresource-vs-routecontroller). – Amin