DB2-API Bir Web Servisin Cevabında Verinin Maskeli İletilmesi
Groovy Script
import groovy.json.JsonOutput
def parser = new groovy.json.JsonSlurper()
def jsonResp = parser.parseText(responseBodyTextToClient)
static String mask(String input, int exceptFirst, int exceptLast) {
String regex="(?<=.{" + exceptFirst + "}).(?=.{"+ exceptLast + "})"
return input.replaceAll(regex, "*")
}
for(Object data in jsonResp.data) {
data.ADI = mask(data.ADI, 1, 2)
data.SOYADI = mask(data.SOYADI, 1, 2)
data.NUMARA = mask(data.NUMARA, 1, 2)
}
responseBodyTextToClient=JsonOutput.prettyPrint(JsonOutput.toJson(jsonResp))
Açıklama
Bu script:
- JSON Parse İşlemi: Gelen cevabı (
responseBodyTextToClient) JSON formatında parse eder. - Mask Fonksiyonu: Verilen string'in ilk ve son karakterlerini koruyarak ortadaki karakterleri
*ile maskeler. - Veri İşleme: JSON içindeki
dataarray'inde döngü yaparak her bir elemanınADI,SOYADIveNUMARAalanlarını maskeler. - Sonuç: İşlenmiş JSON'u tekrar string formatına çevirerek cevap olarak döner.
Bu yaklaşım, hassas verilerin güvenli bir şekilde iletilmesini sağlar.
not
Bu script, response hattında (Response Policy) çalıştırılmalıdır çünkü responseBodyTextToClient değişkenini kullanmaktadır.