it-swarm.com.de

REST API - Verwenden Sie den HTTP-Header "Accept: application/json"

Wenn ich eine Anfrage stelle, bekomme ich eine Antwort in XML, aber was ich brauche, ist JSON. Im Dokument wird Folgendes angegeben, um eine JSON zu erhalten: Verwenden Sie den Accept: application/json-HTTP-Header.

Wo finde ich den HTTP-Header für Accept: application/json?

Meine Vermutung ist, dass es sich nicht um eine URL-Anfrage handelt, die wie folgt aussieht:

http://localhost:8080/otp/routers/default/plan?fromPlace=52.5895,13.2836&toPlace=52.5461,13.3588&date=2017/04/04&time=12:00:00
18
obrob

Sie haben richtig geraten, HTTP-Header sind nicht Teil der URL.

Wenn Sie im Browser eine URL eingeben, wird die Anforderung mit Standard-Headern ausgegeben. Wie auch immer REST Apis sollen nicht durch Eingabe des Endpunkts in die Adressleiste eines Browsers verbraucht werden.

Das häufigste Szenario ist, dass Ihr Server einen Drittanbieter verwendet REST Api.

Ihr serverseitiger Code forges schmiedet dazu eine richtige GET (/ PUT/POST/DELETE) -Anforderung, die auf eine bestimmte Endpunkteinstellung (URL) verweist (falls erforderlich, wie in Ihrem Fall) einige headers und schließlich (Vielleicht) Senden einiger Daten (wie sie normalerweise in einer POST Anforderung zum Beispiel auftreten).

Der Code, der die Anfrage fälscht, sendet und schließlich die Antwort zurücksendet, hängt von der Sprache Ihres Servers ab.

Wenn Sie test a REST Api testen möchten, können Sie das curl - Tool von der Befehlszeile aus verwenden.

curl stellt eine Anforderung und gibt die Antwort an stdout aus (sofern nicht anders angegeben).

In Ihrem Fall würde die Testanforderung folgendermaßen ausgegeben:

$curl -H "Accept: application/json" 'http://localhost:8080/otp/routers/default/plan?fromPlace=52.5895,13.2836&toPlace=52.5461,13.3588&date=2017/04/04&time=12:00:00'

Die H- oder --header-Direktive setzt einen Header und seinen Wert.

34
Paolo

Hier ist eine praktische Seite zum Testen Sie Ihre Header . Sie können die Kopfzeilen Ihres Browsers anzeigen und auch cURL verwenden, um die von Ihnen gesendeten Kopfzeilen zu reflektieren.

So können Sie beispielsweise die Inhaltsaushandlung überprüfen.

Dieser Accept-Header bevorzugt einfachen Text, der in diesem Format zurückgegeben wird: -

$ curl -H "Accept: application/json;q=0.9,text/plain" http://gethttp.info/Accept
application/json;q=0.9,text/plain

Während dieses JSON bevorzugt und so in diesem Format zurückgegeben wird:

$ curl -H "Accept: application/json,text/*;q=0.99" http://gethttp.info/Accept
{
   "Accept": "application/json,text/*;q=0.99"
}
0
Echelon