Ana içeriğe atla

For Döngüsü ile Veri İşleme

İstemciden gelen JSON veriyi, veri boyunca dönerek işler. Bu örnekte gelen verinin personel bilgisi listesine sahip olduğu varsayılmıştır.
def parser = new groovy.json.JsonSlurper()
def jsonData = parser.parseText(requestBodyTextFromClient)

static String someRandomMethod(String input, int inputNumber) {
    //İşlemler..
    return input
}

for(Object data in jsonData.data) {
  data.name = someRandomMethod(data.name, 1)
  data.surname = someRandomMethod(data.surname, 3)
  data.phoneNumber = someRandomMethod(data.phoneNumber, 5)
}

Each Metodu ile Header’a Kopyalama

İstemciden gelen JSON veriyi mesajın header bölgesine kopyalayarak arka tarafa gönderir. Alt objeler veya listeler varsa onları olduğu gibi ekler.
def parser = new groovy.json.JsonSlurper()
def jsonData = parser.parseText(requestBodyTextFromClient)

jsonData.each { k, v ->    
      requestHeaderMapToTargetAPI.put(k,v)
}

EachWithIndex ile Sıralı İşleme

İstemciden gelen JSON veriyi her bir değerin sıra bilgisi ile alarak döngüde kullanır.
Bu script örnekleri, request hattında (Request Policy) çalıştırılmalıdır çünkü requestBodyTextFromClient ve requestHeaderMapToTargetAPI değişkenlerini kullanmaktadır.
def parser = new groovy.json.JsonSlurper();
def jsonData = parser.parseText(requestBodyTextFromClient);

static String someRandomMethod(String input, int inputNumber) {
    //İşlemler..
    return input
}

jsonData.eachWithIndex { val, idx -> 
   val = someRandomMethod(val, idx)
}