✔️ H2 · Response Doğrulama: statusCode, jsonPath

H2 · Response Doğrulama: statusCode: `jsonPath()`, bir JSON gövdesinde belirli bir alana GİTMEK için bir **harita koordinatı** gibidir — `"title"` demek yeterlidir, elle `JSONObj

`jsonPath()`, bir JSON gövdesinde belirli bir alana GİTMEK için bir **harita koordinatı** gibidir — `"title"` demek yeterlidir, elle `JSONObject` ayrıştırma yazmana GEREK KALMAZ. Hamcrest matcher'ları (`hasItem`, `equalTo`, `hasSize`) ise bu değeri KARŞILAŞTIRAN cümlelerdir. Java'da bunun karşılığı, elle `ObjectMapper` ile bir `Map `'e dönüştürüp iç içe `get()` çağırmaktır — çalışır ama KIRILGANdır (bir alan adı yanlış yazılırsa derleme zamanında YAKALANMAZ). `jsonPath()` bunu TEK satıra indirger. **Derin jsonPath/Hamcrest rehberi için → `/rest-assured` sayfasına bak.**

🎬 Elle Ayrıştırmadan Tek Satır Koordinata

Elle Map/get() zinciri

equalTo(...) ile karşılaştır

Elle yaklaşım: ObjectMapper ile Map'e çevir, iç içe get("bugs").get(0).get("title") yaz — kırılgan.

`jsonPath("title")` aynı alana TEK satırda, okunabilir bir koordinatla gider.

Hamcrest `equalTo(...)`/`hasItem(...)` ile değeri karşılaştırır — okunabilir bir doğrulama cümlesi tamamlanır.

jsonPath ile Doğrulama Sırası

Alanın yolunu belirle…

JSON gövdesindeki alan adını (title, severity) not al.

equalTo, hasItem, oneOf gibi Hamcrest matcher'larından uygun olanı seç.

.body(...) ile bağla…

then() zincirine .body("alan", matcher) ekleyerek doğrulamayı tamamla.

jsonPath ile bir alanı doğrulama sürecini sırala.