Ich habe eine Funktion in Symfony3, die Daten an eine MySQL-Datenbank sendet. Die Funktion sieht wie folgt aus:Post-Anfrage mit Symfony 3?
/**
* @Route("/LegoPieces")
* @METHOD("POST")
* @View()
*
* @Annotations\QueryParam(
* name="piece", nullable=false, description="piece"
*)
* @Annotations\QueryParam(
* name="type", nullable=false, description="type"
*)
* @Annotations\QueryParam(
* name="startDate", nullable=false, description="Start Date YYYY-MM-DD HH:MM:SS (Should be in the future)"
*)
* @Annotations\QueryParam(
* name="endDate", nullable=false, description="End Date YYYY-MM-DD HH:MM:SS (Should be no more than 3 weeks in the future)"
*)
*/
public function postAction(ParamFetcherInterface $paramFetcher)
{
$piece = $paramFetcher->get('piece');
$type = $paramFetcher->get('type');
$start = $paramFetcher->get('startDate');
$end = $paramFetcher->get('endDate');
$startDate = DateTime::createFromFormat('Y-m-d H:i:s', $start);
$endDate = DateTime::createFromFormat(' Y-m-d H:i:s', $end);
$em = $this->getDoctrine()->getManager('default');
$data = new LegoPieces();
$data->setPiece($piece);
$data->setType($type);
$data->setStartDate($startDate);
$data->setEndDate($endDate);
$em->persist($data);
$em->flush();
return new JsonResponse("LegoPieces Added Successfully", 200);
}
Wenn ich die Variablen ($ Stück, $ type, $ startdate, $ endDate) mit Streichern der Post-Anforderung arbeitet ersetzen. Aber wenn ich versuche, eine Post-Anforderung durch so etwas wie Postman oder Javascript wie diese zu machen:
fetch("http://localhost:8000/LegoPieces", {
method: "POST",
body: {
startDate: this.startDate,
endDate: this.endDate,
piece: this.piece,
type: this.type
}
}).then(response => response.json())
);
});
Ich erhalte einen 500-Fehler! Ich verstehe das nicht - danke für deine Hilfe!
Haben Sie symfony Profiler Ergebnisse überprüfen? – LugiHaue