Frage

Ich versuche, eine Methode meiner API anzurufen, aber ich erhalte diese Ausnahme:

generasacodicetagpre.

Ich versuche, die Methode meiner API aufzurufen, um einen Benutzer zu erstellen, um denselben Code nicht zweimal wiederholen zu können.Die API würde vom mobilen Gerät verwendet werden.Wenn auf einem Browser ein Benutzer angemeldet ist, ruft er eine Route auf, die den API-Anwender anrufen wird.Es ist, was ich versuche ...

Wenn ich die URL-API für den Benutzer direkt anrufe, funktioniert es perfekt. app_dev.php/api/user/create. Aber wenn ich diese Methode in meinem Controller wie hier anrufe:

generasacodicetagpre.

Er kann meine Usercreate-Methode nicht in USERCONTROLLER finden ...

hier ist mein usercontroller:

generasacodicetagpre.

Wir versuchen nur, die API-Methode anzurufen und das Ergebnis zurückzukehren ... Was ist der beste Weg, um eine Methode der FoSrestbundle zu nennen?

danke

War es hilfreich?

Lösung

Lösung:

Sie sollten wahrscheinlich besser mit weiterleiten so verwenden: . generasacodicetagpre.

Erläuterung:

Sie haben versucht, eine nicht vorhandene Aktion aufzurufen.

generasacodicetagpre.

... das sollte so genannt werden:

generasacodicetagpre.

... statt

generasacodicetagpre.

Erstellen Sie keine Controllerobjekte manuell:

Ferne können Sie nicht einfach ein neues Controller-Objekt erstellen und sofort verwenden

generasacodicetagpre.

Sie müssen - zumindest - den Container für $this->get('...')-Anrufe injizieren, um zu arbeiten:

generasacodicetagpre.

Sie sollten Ihren Code jedoch stark refaktieren ... Die Aktion ist way zu fett.

Tipps:

Wenn Sie an Symfony recht neu sind - hier sind hier einige andere Tipps:

  • Sie sollten einen Anmeldeformular erstellen und diese verwenden, anstatt Daten von der Anforderung direkt zu erhalten (oder verwenden Sie die bereits von fosuserbundle bereitgestellte)
  • Sie sollten Ihrer Benutzerklasse Validierungsmetadaten hinzufügen und mit dem Validator-Dienst überprüft werden (Benutzervalidierungszuordnungen sind bereits von fosuserbundle verfügbar)
  • Es gibt ein jsonresponse -Klasse, die Sie verwenden können < / li>
  • HTTP-Statuscodes sind Konstanten in der Anforderungsklasse, die Sie verwenden können

Verwenden Sie einfach Folgendes:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top