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.