Ana içeriğe geç

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:

  1. JSON Yanıtını Parse Etme: JsonSlurper kullanarak REST servisten gelen JSON yanıtını parse eder.
  2. Veri Çıkarma: JSON yapısından ad ve soyad bilgilerini çıkarır.
  3. 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.