REST API Verileriyle Bir Açılır Listeyi Doldurma¶
Senaryo¶
Bir formdaki açılır listenin sabit bir liste yerine harici bir REST hizmetinden seçilebilir değerleri yüklemesi gerektiğinde bu kılavuzu kullanın.
Önkoşullar¶
- Düzenleyebileceğiniz bir form içeren süreç tanımı
- Bir betik modülü oluşturma veya düzenleme izni
- Emakin çalışma zamanından hedef REST hizmetine erişim
Adımlar¶
Bir Betik Modülü Tanımlayın¶
Formdan çağırmak gibi istemci tarafında bir hizmet çağrısı yaparken betik modülü tanımlamak zorunludur. Bu yaklaşım, API entegrasyonlarınızı daha düzenli ve yeniden kullanılabilir bir şekilde yönetmenize yardımcı olur.
- Bir betik modülü oluşturun.
- Modüle, üzerinde çalıştığınız entegrasyona uygun bir ad verin. Bu örnekte modülün adı
External.

- Modülü açın ve harici hizmeti çağırmak üzere adı
GetCountriesolan bir işlev tanımlayın.
Şuna benzer bir işlev kullanın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Bu örnek:
- çağırır
https://restcountries.com/v3.1/all - yalnızca şu alanları
cca3venameister - JSON yanıtını çağırana döndürür
- işlevin süreç tanımının başka yerlerinde yeniden kullanılabilmesi için dışa aktarır
Devam etmeden önce betik modülünü kaydedin.
Açılır Listeyi Oluşturun¶
- Düzenlemek istediğiniz formu açın.
- Yeni bir açılır liste widget'ı ekleyin.
- Örneğin şu şekilde anlamlı bir etiket verin:
Select a Country.
Veri Kaynağını Yapılandırın¶
Aşağıdaki not, sürüm için belgelenen kullanıcı arayüzü davranışını yansıtır 8.5 ve daha yeni sürümlerde farklılık gösterebilir.
ise ScriptDataSource açılır liste tasarımcısında doğrudan kullanılamıyorsa widget XML'ini elle düzenleyin.

- Açılır liste widget'ını açın.
- Widget işaretlemesini düzenlemek için XML'i seçin.
- Aşağıdaki kod parçasını şu öğenin altına ekleyin:
<DataSources>:
1 2 3 4 5 6 7 8 | |
Bu örnekte:
TextFormatülke adını görüntülerValueFormatülke kodunu saklar- blok
<Content>şunu çağırırExternal.GetCountriesAsync()
Info
Betik modülünüzdeki işlevin adı GetCountriesolsa bile formdan istemci tarafı çağrı yaparken işlev adına Async (şunuGetCountriesAsync) eklemelisiniz. İstemci tarafı ortamında verilerin eşzamansız olarak alınmasını sağlamak için bu gereklidir.
Değişikliği yaptıktan sonra XML'i kaydedin.
Formu Test Edin¶
- Süreç tanımını kaydedip dağıtın.
- Başlatma görevini açın.
- Açılır listenin REST hizmetinden gelen değerlerle doldurulduğunu doğrulayın.
- Bir seçenek belirleyip oluşan XML'i inceleyin.
Saklanan değer şu kalıba uymalıdır:
1 2 3 4 5 6 7 8 | |
Sonuç¶
Açılır liste artık seçilebilir değerlerini yeniden kullanılabilir bir betik modülü aracılığıyla harici bir REST API'sinden yükler.
Sorun Giderme¶
Açılır liste beklendiği gibi dolmuyorsa:
- şunun
GetCountriesbetik modülünde tanımlı ve dışa aktarılmış olduğunu kontrol edin. - Formun şunu çağırdığından
GetCountriesAsyncemin olun, şunu değilGetCountries. - API uç noktasına Emakin çalışma zamanından erişilebildiğini doğrulayın.
- Hizmetin verileri beklenen yapıda döndürdüğünü doğrulayın.
- XML'i
ScriptDataSourceinceleyin veTextFormatileValueFormatyanıt yükündeki değerlerin eşleştiğinden emin olun.
İndirin ve Kendiniz Deneyin¶
Hızlıca başlamanıza yardımcı olmak için bu kılavuzda açıklanan sürecin indirilebilir bir tanımını sağladık. Şunu içe aktarabilirsiniz: REST'ten açılır listeyi doldur.xml Bunu ortamınıza aktarın ve REST API verileriyle açılır liste işlevselliğini test edin.