Genel Bakış
Variable, API trafiğindeki mesajdan politikanın ihtiyacı olan veriyi bulma işlemleri için kullanılan bir yapıdır. HTTP isteklerinin farklı bölümlerinden (header, parametre, body vb.) veri çıkarmak için kullanılır. Bkz.
Temel Özellikler
Özellik | Tip | Zorunlu | Açıklama |
---|
name | String | Evet | Değişkenin benzersiz adı |
description | String | Hayır | Değişken için açıklama |
type | EnumVariableType | Evet | Değişkenin türü (HEADER, PARAMETER, BODY, CONTEXT_VALUES, CUSTOM) |
Değişken Türleri ve Gereken Alanlar
type Değeri | Kullanım Amacı | Alan | Açıklama | Zorunluluk |
---|
HEADER | Header'dan veri çıkarmak için kullanılır | headerName | İstek veya yanıt mesajındaki Http Header alanının adı | Zorunlu |
PARAMETER | URL parametrelerinden veri çıkarmak için kullanılır | paramType | Parametre tipi (QUERY, PATH) | Zorunlu |
|
| paramName | İstek mesajındaki path parametresinin adı | Zorunlu |
|
| paramPath | İstek mesajındaki "path" parametresi için kullanılacak şablon yol | paramType=PATH ise zorunlu |
BODY | İstek/yanıt gövdesinden veri çıkarmak için kullanılır | targetContentType | İçerik tipi (XML, JSON, ALL_BODY) | Zorunlu |
|
| xpathValue | İstek veya yanıt mesajındaki gövde verisindeki XML için XPath ifadesi | XML için zorunlu |
|
| jsonPathValue | İstek veya yanıt mesajındaki gövde verisindeki JSON için JsonPath ifadesi | JSON için zorunlu |
CONTEXT_VALUES | Sistem context değerlerinden veri çıkarmak için kullanılır | contextValue | Context değer tipi | Zorunlu |
|
| zoneId | Zaman bölgesi | Bazı context değerleri için zorunlu |
contextValue Değerleri
İstek (Request) ile İlgili Değerler
Context Value | Açıklama |
---|
REQUEST_REMOTE_ADDRESS | İstemcinin IP adresi |
REQUEST_HTTP_METHOD | HTTP metodu (GET, POST, vb.) |
REQUEST_CONTENT_TYPE | İstek içerik tipi |
REQUEST_PATH_INFO | İstek path bilgisi |
REQUEST_CONTEXT_PATH | Context path bilgisi |
REQUEST_QUERY_STRING | URL query string parametreleri |
REQUEST_REMOTE_USER | Uzak kullanıcı bilgisi |
REQUEST_USERNAME_KEY | Kullanıcı adı veya anahtar |
REQUEST_REQUESTED_SESSION_ID | Oturum ID'si |
REQUEST_REQUEST_URI | İstek URI'si |
REQUEST_CHARACTER_ENCODING | Karakter kodlaması |
REQUEST_CHARSET | Charset bilgisi |
REQUEST_CONTENT_LENGTH | İçerik uzunluğu |
REQUEST_PROTOCOL | Kullanılan protokol |
REQUEST_SCHEME | Protokol şeması (http, https) |
REQUEST_SERVER_NAME | Sunucu adı |
REQUEST_SERVER_PORT | Sunucu port numarası |
REQUEST_REMOTE_HOST | Uzak host bilgisi |
REQUEST_REMOTE_PORT | Uzak port numarası |
REQUEST_LOCAL_NAME | Yerel sunucu adı |
REQUEST_LOCAL_ADDR | Yerel IP adresi |
REQUEST_LOCAL_PORT | Yerel port numarası |
REQUEST_XFORWARDED_FOR | X-Forwarded-For header değeri |
İstek Durum Bilgileri
Context Value | Açıklama |
---|
REQUEST_IS_SOAP_TO_REST | SOAP'tan REST'e dönüşüm durumu |
REQUEST_IS_APIPROXY | API Proxy kontrolü |
REQUEST_IS_APIPROXYGROUP | API Proxy Group kontrolü |
REQUEST_IS_XWWW_FORM_URL_ENCODED | Form URL encoded format kontrolü |
REQUEST_IS_FORM_DATA | Form data format kontrolü |
REQUEST_IS_BYTE_ARRAY | Byte array format kontrolü |
REQUEST_HAS_ATTACHMENT | Ek dosya kontrolü |
REQUEST_GZIP | GZIP sıkıştırma durumu |
REQUEST_DEFLATE | DEFLATE sıkıştırma durumu |
REQUEST_HTTP_SERVLET | HTTP Servlet bilgisi |
Yanıt (Response) ile İlgili Değerler
Context Value | Açıklama |
---|
RESPONSE_IS_BYTE_ARRAY | Yanıtın byte array formatında olup olmadığı |
RESPONSE_GZIP | GZIP sıkıştırma durumu |
RESPONSE_DEFLATE | DEFLATE sıkıştırma durumu |
RESPONSE_BR | Brotli sıkıştırma durumu |
RESPONSE_STATUS_CODE | HTTP durum kodu |
RESPONSE_HTTP_SERVLET | HTTP Servlet bilgisi |
Mesaj ile İlgili Değerler
Context Value | Açıklama |
---|
MESSAGE_CORRELATION_ID | Mesaj korelasyon ID'si |
Ortam ile İlgili Değerler
Context Value | Açıklama |
---|
ENVIRONMENT_ID | Ortam ID'si |
ENVIRONMENT_NAME | Ortam adı |
ENVIRONMENT_CERTIFICATE | Sertifika haritası |
ENVIRONMENT_PRIVATEKEY | Özel anahtar haritası |
ENVIRONMENT_PUBLICKEY | Genel anahtar haritası |
ENVIRONMENT_SECRETKEY | Gizli anahtar haritası |
ENVIRONMENT_KEYSTORE | Keystore haritası |
ENVIRONMENT_JWK | JWK haritası |
API Proxy Group/Proxy/Method Değerleri
Context Value | Açıklama |
---|
APIPROXYGROUP_ID | API Proxy Group ID'si |
APIPROXYGROUP_NAME | API Proxy Group adı |
APIPROXY_ID | API Proxy ID'si |
APIPROXY_NAME | API Proxy adı |
APIMETHOD_ID | API Method ID'si |
APIMETHOD_NAME | API Method adı |
APIMETHOD_SOAP_ACTION | SOAP action değeri |
APIMETHOD_HTTPMETHOD | HTTP metodu |
APIMETHOD_ENDPOINT | Endpoint bilgisi |
APIMETHOD_BACKEND_HTTPMETHOD | Backend HTTP metodu |
APIMETHOD_BACKEND_ENDPOINT | Backend endpoint bilgisi |
Tarih/Zaman ile İlgili Değerler
Context Value | Açıklama |
---|
DATETIME_YEAR | Yıl |
DATETIME_MONTH | Ay |
DATETIME_DAY_OF_WEEK | Haftanın günü |
DATETIME_DAY_OF_MONTH | Ayın günü |
DATETIME_HOUR | Saat |
DATETIME_MINUTE | Dakika |
DATETIME_SECOND | Saniye |
DATETIME_EPOCH_MILLIS | Epoch milisaniye |
DATETIME_FORMATTED_TEXT | Formatlanmış tarih-saat |
DATE_FORMATTED_TEXT | Formatlanmış tarih |
TIME_FORMATTED_TEXT | Formatlanmış saat |
Kimlik Bilgileri
Context Value | Açıklama |
---|
CREDENTIAL_USERNAME | Kullanıcı adı |
CREDENTIAL_EMAIL | E-posta adresi |
CREDENTIAL_FULLNAME | Tam ad |
CREDENTIAL_SECRETKEY | Gizli anahtar |
CREDENTIAL_CERTIFICATE | Sertifika |
CREDENTIAL_PUBLICKEY | Genel anahtar |
CREDENTIAL_PRIVATEKEY | Özel anahtar |
CREDENTIAL_KEYSTORE | Keystore |
CREDENTIAL_TRUSTSTORE | Truststore |
CREDENTIAL_JWK_SIGNANDVALIDATION | İmzalama ve doğrulama için JWK |
CREDENTIAL_JWK_ENCRYPTIONANDDECRYPTION | Şifreleme ve çözme için JWK |
Örnek JSON Yapıları
{
"name" : "apiKeyVariable",
"description" : "API anahtarını header'dan çıkarır",
"type" : "HEADER",
"headerName" : "X-API-Key"
}
CODE
2. Query Parametre Değişkeni
{
"name" : "userIdFromQuery",
"description" : "Kullanıcı ID'sini query parametresinden alır",
"type" : "PARAMETER",
"paramType" : "QUERY",
"paramName" : "userId"
}
CODE
3. Path Parametre Değişkeni
{
"name" : "orderIdFromPath",
"description" : "Sipariş ID'sini path'ten alır",
"type" : "PARAMETER",
"paramType" : "PATH",
"paramName" : "orderId",
"paramPath" : "/orders/{orderId}"
}
CODE
4. XML Body Değişkeni
{
"name" : "customerNameFromXml",
"description" : "Müşteri adını XML gövdesinden çıkarır",
"type" : "BODY",
"targetContentType" : "XML",
"xpathValue" : "//customer/firstName"
}
CODE
5. JSON Body Değişkeni
{
"name" : "emailFromJson",
"description" : "Email adresini JSON gövdesinden çıkarır",
"type" : "BODY",
"targetContentType" : "JSON",
"jsonPathValue" : "$.user.contact.email"
}
CODE
6. Context Değişkeni
{
"name" : "İstek Zamanı",
"description" : "İstek zamanını sistem contextinden alır",
"type" : "CONTEXT_VALUES",
"contextValue" : "DATETIME_EPOCH_MILLIS",
"zoneId" : "Europe/Istanbul"
}
CODE