- Genel Bakış (Overview)
- Kurulum (Installation)
- Geliştirici Kılavuzu (Developer Guide)
- Yönetici Kılavuzu (Administration Guide)
- Senaryolar (Tutorials)
- Nasıl Yapılır Kılavuzları
- Geliştirici Kılavuzları
- Groovy Kullanımı (Script Politikası)
- Groovy Temel Örnekler
- Body'de Gelen Değeri Header Alanına Kopyalama
- API Çağrısı Yapmak ve Sonucu İşlemek
- API Çağrısı (x-www-form-urlencoded)
- XmlSlurper ile SOAP Mesajı Hazırlama ve Gönderme
- JsonSlurper ile REST Body'e Yeni Alan Ekleme ve Mevcut Alanı Kullanma
- JSON Formatındaki Mesaj ile Mail Atma
- SOAP Mesajı üzerinden Mail Atma
- API Çağrısı ile XML Veriyi Ayrıştırıp JSON Mesaj Oluşturma
- XmlSlurper ile SOAP Bir Mesajı Parse Etme ve Alanlara Müdahale
- Request URL Path Okuma ve Backend Adresi Değiştirme
- Xml Bir Node'un Seviyesini Değiştirme
- 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
- Json Bir Veriden Tırnak ("") İşaretlerini Replace ile Temizleme Scripti
- İki Servisi Api Call Çağrısı ile Alıp Çıktılarını Birleştirip Tek Bir Çıktı Halinde Dönme
- DB2-API Bir Web Servisin Cevabında Verinin Maskeli İletilmesi
- Gelen JWT Anahtarından Payload Alanındaki Json Verisinden Veri Alan Script
- Basit map ve foreach döngüsü kullanımı
- JSON Formatında TC Kimlik No Kontrolü
- Json Request Verisini Form Data Verisine Çevirme
- SOAP Mesajı İmza Doğrulaması (İstemci Sertifikası ile)
- SOAP Mesajı İmzalama (Private Key ve Sertifika ile)
- XmlSlurper ile SOAP Bir Mesajı Parse Etme ve Header Alanına Değer Ekleyip Backende Gönderme
- PKIX Hatası Çözümü İçin SSL Sertifikalarını Devre Dışı Bırakmak
- OIDC Entegrasyonu
- Javascript Kullanımı (Script Politikası)
- Jolt Kullanımı (Json Dönüşüm Politikası)
- XSLT Kullanımı (Xml Dönüşüm Politikası)
- Groovy Kullanımı (Script Politikası)
- Yönetici Kılavuzları
- Geliştirici Kılavuzları
- Bakım İşlemleri
- Sorun Giderme
- Yönetim API'si (Management API)
- API Geliştirici Portalı
- Benchmark Sonuçları
- Makaleler
İki Servisi Api Call Çağrısı ile Alıp Çıktılarını Birleştirip Tek Bir Çıktı Halinde Dönme
# Servis1.xDEPARTMANI == Servis2.ChildDepartmentID durumunda Servis2'den Servis1'e veri ekler
#Servis1
[
{
"USERID" : "111",
"FIRSTNAME" : "ADI",
"LASTNAME" : "SOYADI",
"EMPLOYEMENTSTART" : "2011-04-18 00:00:00.0",
"DEPARTMENT" : "333",
"DEPARTMENTNAME" : "DEPARTMAN ADI",
"PROFESSION" : "44",
"PROFESSIONNAME" : "YETKİLİ",
"POS_ITION" : "55555",
}
,...]
#Servis2
[
"0":{
"ParentDepartmentID" : xxx,
"ParentDepartmentName" : "DEP NAME > GİDİLECEK DEP NAME",
"ChildDepartmentID" : yyy
}
,"1":...]
##Script Başlangıç
import groovy.json.JsonSlurper
import groovy.json.JsonOutput
def linearFind(map, elementToSearch) {
def returnValue = -1
map.each { k, v ->
if (v.ChildDepartmentID.toString() == elementToSearch.xDEPARTMANI.toString()){
returnValue = v
}
}
return returnValue
}
##//Servis1'den cevap alır
String requestX = "http://1.1.1.1:30080/apigateway/xyolu"
URL urlX = new URL( requestX )
HttpURLConnection connX= (HttpURLConnection) urlX.openConnection()
connX.setDoOutput(true)
connX.setRequestMethod("GET")
connX.setRequestProperty("Content-Type", "application/json")
connX.setUseCaches(false)
connX.setConnectTimeout(60000)
def orijinalBody = connX.inputStream.withCloseable { inStream -> new JsonSlurper().parse( inStream as InputStream ) }
##//Servis2'den cevap alır
String request = "http://1.1.1.1:30080/apigateway/test/test"
URL url = new URL( request )
HttpURLConnection conn= (HttpURLConnection) url.openConnection()
conn.setDoOutput(true)
conn.setRequestMethod("POST")
conn.setRequestProperty("Content-Type", "application/json")
conn.setUseCaches(false)
conn.setConnectTimeout(10000)
def childBody = conn.inputStream.withCloseable { inStream -> new JsonSlurper().parse( inStream as InputStream ) }
##//2 servisteki verileri kıyaslar
##//eşleşme bulursa ilgili değerleri kayda ekler
orijinalBody.eachWithIndex { val, idx ->
def result=linearFind(childBody, val)
if(result!=-1){
val.put("ParentDepartmentID", result.ParentDepartmentID)
val.put("ParentDepartmentName", result.ParentDepartmentName)
}
}
//Sonucu json formatında döner
responseBodyTextToClient=JsonOutput.toJson(orijinalBody)
POWERSHELL