J'ai créé une API (magasin) qui enregistre les données sur la base de données et renvoie 201 en cas de succès ou 404 sinon.Laravel 5.4 - forme/API/vue
if ($visit->save()){
$visit->view_visit = [
'href' => 'api/v1/visit/' . $visit->id,
'method' => 'GET'
];
$response = [
'msg' => 'Visit created.',
'visit' => $visit
];
return response()->json($response, 201);
}
$response = [
'msg' => 'Error during creation.'
];
return response()->json($response, 404);
Fonctionne parfaitement. En utilisant postier, vous pouvez voir que le statut sera < 201 Créé >>.
Cette API doit être utilisée de deux manières: appelée par une autre application ou appelée par un formulaire Laravel. C'est la question:
Comment puis-je l'appeler d'une manière si elle réussit, il va charger une vue donnée sur les navigateurs? En d'autres termes, existe-t-il un moyen de rendre le formulaire appel un itinéraire (l'API lui-même, quelque chose comme ../api/visit/) et en cas de succès charge l'autre vue? Aussi, je voudrais passer le contenu de la réponse ['msg'] à cette nouvelle vue.
Je sais que je pourrais le faire à l'intérieur de la méthode magasin en filtrant le référent HTTP, mais je voudrais garder le code du contrôleur strictement pour gérer la création d'enregistrements. En plus de cela, je dois envoyer les codes 201/404 avec les données renvoyées.
J'ai également envisagé de créer un autre contrôleur pour gérer la réponse de l'API, puis d'appeler le formulaire, mais cela semble encore trop - c'est supposé être facile, je suppose.
BTW, le bon code montre 'méthode '=>' POST' au lieu de ' method => « GET' –
vérifier la réponse à – Sletheren
Avoir une regardez https://laravel.com/docs/5.4/redirects#redirecting-with-flashed-session-data –