PHP Laravel API - Put/Patch Bug?

-Rayz-

Lieutenant
Registriert
Okt. 2010
Beiträge
897
Ich möchte ein Model updaten und wollte dies eigentlich via Put machen aber der Request ist.. MÜLL!!
Hier erstmal ein bisschen Code:
PHP:
 Route::put('anschrift/{anschrift}','AnschriftController@update');
    public function update(Request $request, Anschrift $anschrift)
    {
        return response()->json([
            'data' => [
                'result' => $anschrift,
                'request' => $request->all(),
            ],
        ]);
    }

class Anschrift extends Model
{
    use SoftDeletes;
    use Uuids;

    protected $fillable = [
        'firmenname_1',
        'firmenname_2',
        'strasse',
        'plz',
        'ort',
        'land',
        'telefon',
        'fax',
        'anrede',
        'ansprechpartner',
        'abteilung',
        'user_id'
    ];

Über Postman habe ich mehrere Einstellungen versucht. Erst als ich den Content-Type im Header auf [{"key":"Content-Type","value":"application/x-www-form-urlencoded","description":""}] gestellt hatte, kam überhaupt ein Request an. Ansonsten ist dieser immer leer.
Der Request sieht allerdings so aus:

"request": {
"------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition:_form-data;_name": "\"anrede\"\r\n\r\nFrau\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"ansprechpartner\"\r\n\r\nhuhu\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"firmenname_1\"\r\n\r\nHolopack Verpackungstechnik GmbH\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"firmenname_2\"\r\n\r\nHolopack Verpackungstechnik GmbH\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"land\"\r\n\r\nDE\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"ort\"\r\n\r\njkhjkh\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"plz\"\r\n\r\n65756\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"strasse\"\r\n\r\njhjklkjl\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7\r\nContent-Disposition: form-data; name=\"telefon\"\r\n\r\n578678\r\n------WebKitFormBoundaryMXT98gztdmAwtkr7--"
}

Damit kann ich nicht viel anfangen.
Patch liefert das gleiche Ergebnis. Nur mit Post bekomme ich einen vernünftigen Request hin.
Habe auch schon Routen in Laravel ohne Model Binding angelegt aber das brachte auch nichts.

Wie bekomme ich über Put einen anständigen Request hin?
 
Mal abgesehen davon das du dich mal mit translations beschäftigen solltest....

Es ist sehr unwarsxheinlich das es daran liegt. Betreibst du ein nginx? Der filtert put und Patch. Ansonsten kannst du put und Patch auch mit Post erzeugen. Laravel kann das mit Parametern forcen. Das laravel selbständig requests kaputt macht ist mir noch nie untergekommen, aber man soll ja niemals nie sagen. Wäre sicher aber auch schon lange aufgefallen.
 
Jaja die translations.. ^^ keine Sorge es hat schon seine Gründe aber darum geht es ja nicht.
Hab das über Xampp/Apache laufen.
Ich hatte halt vorher in meinem Asp.Core Backend die requests über get post put delete geregelt und es wundert mich einfach, dass das mit Laravel nicht funktionieren mag.
Über Post habe ich ja keine Probleme.
 
Zurück
Oben