REST API - "Accept: application/json" HTTP Başlığını kullanın
Bir istekte bulunduğumda XML olarak bir yanıt alıyorum, ancak ihtiyacım olan şey JSON. Dokümanda karşılığında bir JSON almak için belirtilmiştir: Accept: application/json` HTTP Başlığını kullanın.
İçine Accept: application/json
koyacağım HTTP Başlığını nerede bulabilirim?
Tahminimce, URL isteğinin içinde olması gerekmiyor, ki bu gibi görünüyor:
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
26
3
Doğru tahmin ettiniz, HTTP Üstbilgileri URL'nin bir parçası değildir.
Ve tarayıcıya bir URL yazdığınızda, istek standart başlıklarla verilecektir. Her neyse, REST Api'ler bir tarayıcının adres çubuğuna uç noktayı yazarak tüketilmek üzere tasarlanmamıştır.
En yaygın senaryo, sunucunuzun üçüncü taraf bir REST Api kullanmasıdır.
Bunu yapmak için sunucu tarafı kodunuz, belirli bir uç noktayı (URL) işaret eden uygun bir GET (/PUT/POST/DELETE) isteği oluşturur (sizin durumunuzda olduğu gibi gerektiğinde) bazı başlıkları ayarlar ve son olarak (belki) bazı verileri gönderir (örneğin, POST isteğinde tipik olarak meydana geldiği gibi).
İsteği taklit etme, gönderme ve son olarak yanıtı geri alma kodu, sunucu tarafı dilinize bağlıdır.
Bir REST Api'yi test etmek istiyorsanız, komut satırından
curl
aracını kullanabilirsiniz.curl
bir istekte bulunur ve yanıtı stdout
a çıktı olarak verir (aksi belirtilmedikçe).Sizin durumunuzda test talebi şu şekilde yapılacaktır:
H
veya
--header` yönergesi bir başlık ve değerini belirler.İşte başlıklarınızı test etmek için kullanışlı bir site. Tarayıcı başlıklarınızı görebilir ve ayrıca gönderdiğiniz başlıkları geri yansıtmak için cURL kullanabilirsiniz.
Örneğin, içerik anlaşmasını şu şekilde doğrulayabilirsiniz.
Bu
Accept
başlığı düz metni tercih eder, bu nedenle bu formatta döner:-Oysa bu JSON'u tercih eder ve bu nedenle bu formatta döner:-
Curl, json gösterimi için daha iyi bir seçenek olabilir, ancak bu durumda komut satırında olduğu için json yapısını anlamak zor olacaktır. json'ınızı tarayıcıda almak istiyorsanız, aşağıdaki gibi tüm XML Ek Açıklamalarını kaldırmanız yeterlidir -
model sınıfınızdan ve xml gösterimi için kullandığınız aynı url'yi çalıştırın.
Pom.xml dosyanızda jacson-databind bağımlılığının bulunduğundan emin olun