JsonSlurper ile Kimlik Verisi Dönen Bir Servisten Rest2Soap Olarak Yanıt Boş ise Hata Koduyla Boş Cevap Dönmek ve Yanıt Varsa Sadece Belirli Kısmını Dönmek
Groovy Script
import groovy.json.JsonOutput
def parser = new groovy.json.JsonSlurper()
def jsonResp = parser.parseText(responseBodyTextToClient)
String adBilgisi = jsonResp.BilesikKutukBilgileri.TCVatandasiKisiKutukleri.KisiBilgisi.TemelBilgisi.Ad
String soyadBilgisi = jsonResp.BilesikKutukBilgileri.TCVatandasiKisiKutukleri.KisiBilgisi.TemelBilgisi.Soyad
if (adBilgisi == null || adBilgisi.isEmpty()) {
statusCodeToClient = 503
def pretty = JsonOutput.prettyPrint(JsonOutput.toJson([
ad: "",
soyad: ""
]))
responseBodyTextToClient = pretty
} else {
def pretty = JsonOutput.prettyPrint(JsonOutput.toJson([
ad: adBilgisi,
soyad: soyadBilgisi
]))
responseBodyTextToClient = pretty
}
Açıklama
Bu script şu işlemleri yapar:
- JSON Yanıtını Parse Etme:
JsonSlurperkullanarak REST servisten gelen JSON yanıtını parse eder. - Veri Çıkarma: JSON yapısından ad ve soyad bilgilerini çıkarır.
- Kontrol ve Dönüşüm:
- Eğer ad bilgisi boş veya null ise, HTTP 503 status kodu ile boş bir JSON yanıtı döner.
- Eğer ad bilgisi varsa, sadece ad ve soyad bilgilerini içeren bir JSON yanıtı döner.
Kullanım Senaryosu
Bu script, kimlik doğrulama servisinden gelen yanıtı işleyerek:
- Boş yanıt durumunda hata kodu döndürür
- Geçerli yanıt durumunda sadece gerekli alanları filtreler ve döndürür
not
Bu script, response hattında (Response Policy) çalıştırılmalıdır çünkü responseBodyTextToClient değişkenini kullanmaktadır.