2017-06-28 1 views
0

Ich habe eine mobile Anwendung mit React Native erstellt und ich möchte Laravel als Backend verwenden. Ich habe eine Registerseite erstellt, um Benutzerregistrierungskonten über mobile Anwendungen zu ermöglichen.Erhalten Antwort von Laravel API in React Native

Wenn Benutzer drücken Sie die Schaltfläche registrieren in der mobilen Anwendung. Es wird Anfrage senden an Laravel und zurück response.In meine Register.js

async onRegisterPressed() { 
    try{ 
     let response= await fetch('http://127.0.0.1:8000/api/register',{ 
      method: 'POST', 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 
      body: JSON.stringify({ 
       user:{ 
        name:this.state.name, 
        email:this.state.email, 
        password:this.state.password, 
        password_confirmation:this.state.password_confirmation, 
       } 
      }) 
     }); 

     let res= await response.text(); 
     console.log("res is" + res); 
    }catch(errors){ 

    } 
} 

Aber in meinen Laravel-Controller. Ich bin mir nicht sicher, wie ich die Antwort der Formularvalidierung zurückgeben soll.

Mein Api \ RegisterController

public function register(Request $request){ 
     $this->validate($request,[ 
      'name' => 'required|max:255|unique:users', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|min:8|confirmed', 
      'gender'=>'required|bool' 
     ]); 
} 

So wie alle Fehler zu erhalten und senden Sie es nativer reagieren? Und sollte es json-Format oder Textformat sein? Hoffe ihr könnt mir ein paar Tipps geben, denn ich lerne nur nativ zu reagieren.

+0

Ist das eine Frage zu Reagieren oder Laravel gerichtet? Es ist verwirrend. 'validate()' kommt von der Eigenschaft 'ValidatesRequests'. Sie können sich diese Klasse ansehen und 'formatValidationErrors()' entweder überschreiben, um sie Ihren Anforderungen anzupassen oder etwas anderes zu tun. –

+0

Hi @IvankaTodorova, Sie können davon ausgehen, dass Sie nativ als Frontend verwenden und Laravel als Backend verwenden. – masterhunter

Antwort