HTTP PUT Request (mit Body) über Browser-Adressleiste möglich?

FreddyCollin

Ensign
Registriert
Dez. 2014
Beiträge
236
Hi Zusammen,

ich habe mal eine (vllt. doofe) Frage:
Ich arbeite für meine Firma mit einem App-Baukasten. Dieser bietet eine REST API. Ich kann damit eigentlich soweit umgehen. Mit POSTMAN klappt alles wie ich möchte.

Nun gibt es dort einmal GET und einmal PUT Anfragen (GET eben um erstellte Datensätze "abzuholen" und PUT um gewisse Datentabellen in die fertig-gebauten Apps zu "pushen").

Eine GET Anfrage sieht zB so aus:
1584517298661.png

... Wenn ich also die Request URL (ganz unten im Screenshot) in den Browser Adressleiste eingebe (mit entsrpechendem AccessToken Paramenter natürlich), kriege ich erfolgreich den Datensatz als JSON zurück...

- Nun gibt es aber auch den umgedrehten Fall:


Ein PUT-Request mit dem ich Daten hochpushen kann. Über POSTMAN nutze ich hier für den eigentlichen Dateninhalt den Body und gebe dort als JSON Tabelle die Daten ein. Das klappt... Gibt es nun aber auch eine Möglichkeit, das mit dem Browser (zb google Chrome) zu machen ohne Postman o.ä?


Danke für jede Hilfe
 
Indem du mit Javascript eine Programm schreibst was das machst. Das kann dann auch lokal ausgeführt werden (wenn gewünscht) ohne Webserver.
 
Um die Frage in der Überschrift zu beantworten: Nein, PUT hat den Payload immer im HTTP Request Body.
Über Chrome geht das sicher auch, aber nie mit beschäftigt.
 
FreddyCollin schrieb:
Gibt es nun aber auch eine Möglichkeit, das mit dem Browser (zb google Chrome) zu machen ohne Postman o.ä?
In der Developer Console per JS einen Request zusammenbauen und abschicken.
 
Danke erstmal an alle Antworten. Hilft mir schonmal sehr weiter.
Ist es bei cURL anders? Kann ich die generierte cURL abfrage iwie in Chrome nutzen (ohne JS Gefitzel)?
 
Du kannst mit curl alles in der kommandozeile schicken, du gibtst den body einfach auch in der kommandozeile an oder kannst ihn per datei einlesen (je nach Länge vom Body ist das ggf. einfacher).

Wenn die Swagger Spec korrekt ist, müsste die Curl Zeile auch stimmen.
 
Tornhoof schrieb:
Du kannst mit curl alles in der kommandozeile schicken, du gibtst den body einfach auch in der kommandozeile an oder kannst ihn per datei einlesen (je nach Länge vom Body ist das ggf. einfacher).

Wenn die Swagger Spec korrekt ist, müsste die Curl Zeile auch stimmen.

Was ist im Browser (Chrome) mit Kommandozeile gemeint? Dort wo die URL eingegeben wird? Kann ich also den gesamten Body einfach in die URL / Adress Leiste Schreiben?
 
Ah sorry, cURL ist ein Kommandozeilenprogramm, damit kannst du Webrequests erzeugen und verschicken. Das hat nichts mit einem Browser zu tun.
 
VSCode mit der REST-Client Extension.
test.http Datei erstellen.

Dann kann man darin einfach

Code:
PUT https://api.xxx.xxx.xx/abc/v1/datapoints/19 HTTP/1.1
header: value

{
    "key": "value",
    "key1": true,
    "key2": {
        "keya": 123
    }
}

hinschreiben und via Klick auf "Send Request" senden.
So würde man dann ein PUT Request mit JSON-Payload senden.

Will man mehrere Requests in eine Datei einbauen, weil man immer so Testspielchen bei APIs hat, dann kann man das via ### abtrennen und ab da einen weiteren Request schreiben usw.

Der Output wird dann in einen neuen Panel auch gleich farblich hübsch formatiert.

Zum schnellen Testen von HTTP-Request-Geschichten (REST-API, einfach nur so...) gibt es quasi nichts besseres.
Das HTTP-Protokoll sollte man dafür jedoch schon einigermaßen verstehen.
 
Zurück
Oben