2017-08-15 5 views
0

J'ai fait une route dans le fichier api qui permettent à tout le monde de créer des utilisateurs:NotFoundHttpException avec mon dossier de demande sur la route api

Route::post('users', '[email protected]'); 

Quand je l'ai appelé en postier sans utiliser la validation de la demande, il fonctionne. Mais quand j'ai créé mon fichier de requête et que je l'utilise, Laravel retourne une NotFoundHttpException.

Voici mon dossier de demande:

<?php 

namespace App\Http\Requests; 

use Illuminate\Foundation\Http\FormRequest; 

class UserAddRequest extends FormRequest 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'user_id' => 'required|numeric', 
      'name' => 'required|string', 
      'email' => 'required|string', 
      'password' => 'required|string' 
     ]; 
    } 
} 
public function addUser(UserAddRequest $request){ 

    $user = new User; 
    $user->instance_user_id = $request->input('user_id'); 
    $user->name = $request->input('name'); 
    $user->email = $request->input('email'); 
    $user->password = $request->input('password'); 
    $user->save(); 

} 

Il n'y a pas de forme, car il doit être envoyer directement au serveur avec la méthode post. J'ai déclaré mon itinéraire dans routes/api.php et je l'appelle avec l'URL/API/utilisateurs L'API dans ce cas n'a pas besoin de vérifier les informations d'identification.

+0

Code de partage où vous obtenez une erreur. En obtenant ce formulaire, ou en essayant de publier sur cette URL? –

+0

Afficher la méthode addUser() sur le UserController s'il vous plaît. Vous montrez seulement une classe FormRequest, pas la méthode de contrôleur. –

+0

J'ai modifié le post pour ajouter ma fonction dans UserController. Comme je l'ai dit il n'y a pas de formulaire, c'est directement envoyé avec un postier pour mon test (et peut-être Guzzle plus tard). – EkinOf

Répondre

0

Je résolu mon problème:

Le NotFoundHttpException a été soulevée parce que je n'ai pas envoyé mes parametters correctement et Laravel ne pas où me rediriger. Quand j'envoie directement la requête au serveur, il n'y a pas d'URL déclarée d'où je viens.