2017-04-04 18 views
8

İstekte bulunduğumda bir XML alırım. Ama ihtiyacım olan bir JSON. Dokümanda, karşılığında bir JSON elde etmek için belirtilir: Accept: application/json HTTP Üstbilgisini kullanın.REST API - "Accept: application/json" HTTP Üstbilgisini Kullan

Ama tanrılar adında nerede Accept: application/json içeri koymak için HTTP Üstbilgisini bulabilirsiniz. Doğru tahmin

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 
+2

İsteği nasıl gönderiyorsunuz? –

+0

Bu, aşağıdakileri anlamanıza yardımcı olabilir: http://stackoverflow.com/documentation/rest/1664/getting-started-with-rest/20145/rest-over-http – sp00m

cevap

17

HTTP Başlıkları URL parçası değildir:

Benim tahminim benziyor URL isteği içinde olmak varsayalım değil mi.

Tarayıcıda bir URL yazdığınızda, istek standart başlıklarla verilecektir. Her neyse REST Apis, bir tarayıcının adres çubuğuna son noktayı yazarak tüketilmek zorunda değildir.

En yaygın senaryo, sunucunuzun üçüncü taraf bir REST Api kullanmasıdır.

böylece sunucu tarafı kod uygun bir GET uydurandan yapmak için (/ PUT/POST/DELETE) belirli bir son (URL) bazı başlıklarını ve son olarak (davanızı gibi, gerektiğinde) ayarını gösteren isteği (belki) bazı veriler yollamak (genellikle bir POST isteğinde olduğu gibi).

İsteğin gönderilmesi, gönderilmesi ve son olarak yanıtın alınabilmesi için gereken kod, sunucu tarafınızın diline bağlıdır.

testini bir REST Api'ye göndermek isterseniz, komut satırından curl aracını kullanabilirsiniz.

curl stdout'a bir istekte bulunur ve yanıt verir (aksi belirtilmedikçe).

Senin durumunda test isteği şöyle çıkarılacak olacaktır:

$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' 

H veya --header direktif kafayla ve değerini belirler.