Derzeit folgt das Lernprogramm von how to create Rest API auf Symfony 3.x.FosBundle-Route nicht gefunden
Mein Problem ist im stecken mit getAction()
Methode mit diesem Code.
namespace SwipeBundle\Controller\Backend\API;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Controller\FOSRestController;
use Symfony\Component\HttpFoundation\Response;
use FOS\RestBundle\View\View;
class UserController extends FOSRestController
{
/**
* @Rest\Get("/api/user")
*/
public function getAction() {
$restresult = $this->getDoctrine()
->getRepository('SwipeBundle:User')
->findAll();
if ($restresult) {
return new View("there are no users exist", Response::HTTP_NOT_FOUND);
}
return $restresult;
}
}
die Fehler auf den Protokollen überprüft:
Uncaught PHP Exception Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException: "Keine Route für "GET/api/user"" bei /home/swipecom/contactless/var/cache/prod/classes.php Zeile 4595 {"Ausnahme": "[Objekt] (Symfony \ Komponente \ HttpKernel \ Exception \ NotFoundHttpException (Code: 0)): keine Route gefunden für \ "GET/api/user \" bei /home/swipecom/contactles s/var/cache/prod/classes.php: 4595, Symfony \ Komponent \ Routing \ Exception \ ResourceNotFoundException (Code: 0): um /home/swipecom/contactless/var/cache/prod/appProdProjectContainerUrlMatcher.php: 750) "} []
I geprüft und konfiguriert ist, die FOSRest configuration and Nelmio
aber immer noch nicht funktioniert.
Hier ist sie:
# Nelmio CORS Configuration
nelmio_cors:
defaults:
allow_credentials: false
allow_origin: ['*']
allow_headers: ['*']
allow_methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS']
max_age: 3600
hosts: []
origin_regex: false
# FOSRest Configuration
fos_rest:
body_listener: true
format_listener:
rules:
- { path: '^/', priorities: ['text/html'], fallback_format: html, prefer_extension: false }
- { path: '^/api/', priorities: ['json'], fallback_format: json, prefer_extension: false }
param_fetcher_listener: true
view:
view_response_listener: 'force'
formats:
json: true
xml: true
yml: true
Weg der Controller?danke – phpmeter
Ich habe meiner Route gerade ein Pfadattribut hinzugefügt. path = "/ api/user" funktioniert immer noch nicht, ich habe den Router auch mit dem Router überprüft: Übereinstimmung und Fehler sagen Keine der Routen stimmen mit dem Pfad überein – phpmeter
@phpmeter Siehe mein Update: versuche mit 'console debug: router - show-controllers' und suchen Sie nach Ihrem Controller – Matteo