Genel Bakış
Apinizer’da politika ayarları, bağlantı konfigürasyonları ve routing adresleri gibi birçok string alanda dinamik değişkenler kullanılabilir. Bu sayede sabit değerler yerine ortama, isteğe veya çalışma zamanına göre değişen değerler tanımlanabilir. İki tür dinamik değişken vardır:Environment Variable — ${key}
Ortam değişkenleri, deploy anında çözümlenir. Geliştirme, test ve üretim gibi ortamlara göre farklı değerler alabilir.
Context Variable — #{key}
Bağlam değişkenleri, her istekte çözümlenir. İstek bilgileri, tarih/saat gibi sistem verileri veya script ile atanan özel değerler içerir.
İki Değişken Türü
Environment Variable (${key})
Environment Variable’lar, farklı ortamlarda (geliştirme, test, üretim) farklı değerler kullanmanızı sağlar. Deploy anında çözümlenir ve çalışma zamanında sabit kalır.
Örnek: ${api.hostname} → Geliştirmede localhost:8080, üretimde api.example.com
Environment Variable tanımlama ve yönetim hakkında detaylı bilgi için Environment Variable sayfasına bakabilirsiniz. CRUD işlemleri ve kullanım senaryoları için Environment Variable Yönetimi sayfasını inceleyebilirsiniz.
Context Variable (#{key})
Context Variable’lar her istekte çözümlenir ve iki alt kategoriden oluşur:
1. Sistem Context Variable’ları — Otomatik oluşturulur, tanım gerektirmez:
#{context.request.httpMethod},#{context.request.uri},#{context.request.remoteAddress}#{context.system.year},#{context.system.dateTime}#{context.message.correlationId}#{context.apiProxy.name},#{context.apiProxy.id}#{context.credential.clientId},#{context.credential.username}#{error.defaultErrorCode},#{error.defaultMessage}
#{userId},#{tenantId},#{customValue}- Script politikasında
customVariableMap.put("key", "value")ile değer atanır
Variable tanımları hakkında detaylı bilgi için Değişkenler sayfasına bakabilirsiniz.
Karışık Kullanım
İki tür aynı anda kullanılabilir:${api.hostname} deploy anında çözümlenir (örn: api.example.com), #{userId} her istekte farklı değer alır.
Desteklenen Alanlar
Dinamik değişkenler, politika ve bağlantı ayarlarında neredeyse tüm string alanlarda kullanılabilir.Politikalar
Bağlantılar
Diğer Alanlar
Bağlantı ayarlarında (Database, LDAP, Email) genellikle
${key} (Environment Variable) kullanılır çünkü bu değerler ortam bazlıdır ve deploy anında çözümlenmelidir. #{key} (Context Variable) ise istek zamanında çözümlenir ve daha çok politika ayarlarında ve routing adreslerinde kullanılır.UI’da Değişken Seçimi
Politika ve bağlantı düzenleme ekranlarında, breadcrumb alanında “Değişken” butonu bulunur. Bu butona tıklandığında açılan menüden iki diyaloğa erişilebilir:Environment Variable Diyaloğu
Menüden “Environment Variable” seçildiğinde açılan diyalog, tanımlanmış tüm ortam değişkenlerini listeler:- Global Değişkenler — Tüm ortamlarda geçerli olan değişkenler
- Ortama Özel Değişkenler — Belirli ortamlar için tanımlanmış değişkenler
${variableName} formatında panoya kopyalanır ve ilgili alana yapıştırılabilir.
Context Variable Diyaloğu
Menüden “Context Variable” seçildiğinde açılan diyalog, kullanılabilir tüm bağlam değişkenlerini kategorize ederek listeler:- Error Variables — Hata bilgileri
- Request Variables — İstek bilgileri
- Message Variables — Mesaj bilgileri
- API Variables — API Proxy bilgileri
- Credential Variables — Kimlik bilgileri
- DateTime Variables — Tarih/saat bilgileri
#{variableName} formatında panoya kopyalanır.
Her iki diyalog da bağımsızdır. Aynı alanda hem
${key} hem #{key} kullanabilirsiniz.Context Variable Referansı
Request (İstek)
DateTime (Tarih/Saat)
Message (Mesaj)
API Proxy veya Proxy Group üzerinde tanımlanan özel message variable’lar da bu kategoride görüntülenir.
API
Credential (Kimlik)
Error (Hata)
Script’te Kullanım Farkı
Context variable’lar script politikası içinde farklı formatta kullanılır. Runtime’da nokta (.) ile ayrılan format, script’te alt çizgi (_) ile yazılır:
Global Variable Kullanımı
Global variable’lar, Custom Variable tanımı ile oluşturulan ve script ile değer atanan değişkenlerdir. Politikalar arasında veri aktarımı için kullanılır.1
Variable Tanımı Oluşturun
Project > Variables bölümünden Custom Variable tipinde yeni bir tanım oluşturun.
2
Script ile Değer Atayın
Script politikası içinde
customVariableMap.put("variableName", "value") ile değer atayın.3
Değişkeni Kullanın
#{variableName} formatında diğer politika ve ayarlarda kullanın.Kullanım Örnekleri
Hata Yanıt Şablonu
Dinamik Routing
${api.hostname} deploy anında, #{tenantId} ve #{context.request.pathInfo} her istekte çözümlenir.
Response Header Ekleme
Davranış Kuralları
- Bulunamayan
#{key}değerleri boş string ("") ile değiştirilir; hata fırlatılmaz, uyarı log’u yazılır - Bulunamayan
${key}değerleri çözümlenemez ve olduğu gibi kalır - Script politikasında custom variable map’e doğrudan erişim olduğu için
#{...}placeholder mekanizması kullanılmaz - Variable isimleri büyük/küçük harf duyarsızdır
Sonraki Adımlar
Environment Variable
Ortam değişkenlerini detaylı öğrenin
Değişkenler
Variable tanımlarını öğrenin
Script Politikası
Script ile değişken kullanımı
Environment Variable Yönetimi
Environment Variable CRUD işlemleri

