5.6 WEBSENDP tabanlı uç noktalar (CRUD işlemcisi)

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 5. Servis yüzeyleri >

5.6 WEBSENDP tabanlı uç noktalar (CRUD işlemcisi)

CRUD işlemcisi, uç noktalarını koddan değil veritabanından alır: bağlı olduğu veritabanındaki WEBSENDP tablosunun etkin satırları (KAYIT_DURUMU IN ('A','O')). Yani yeni bir uç nokta eklemek bir satır eklemektir, yeniden derleme değil. Satırın alanları:

AlanAnlamı
PATHUç noktanın adı; istekte bu adla çağrılır.
HTTP_METHODHangi yolun sunacağı. MCP / Local MCP değerleri satırı MCP sunucusuna ayırır (aşağıya bakın); diğerleri HTTP tarafında kalır.
SCRIPT_DILIİçeriğin türü. HTML, JS, CSS ise SCRIPT_TEXT olduğu gibi sunulur (içerik tipi buna göre ayarlanır); diğer değerlerde satır bir çalıştırılabilir uç olarak ele alınır.
SCRIPT_TEXTSunulacak içerik ya da çalıştırılacak metin.
PARAMETRELERParametre tanımı (JSON). MCP tarafında araç imzası buradan üretilir; geçersiz JSON o satırı yüklemez ve günlüğe yazılır. Sıra kuralı aşağıda — hem HTTP hem MCP yolu için geçerlidir.
ROLE_KODUGerekli rol. HTTP tarafında uygulanır: oturum o rolde değilse 403. Alan boşsa rol istenmez.
WEB_ENDPOINT_KODU, WEB_ENDPOINT_ADI, ACIKLAMA_TEXT, HOST_NAMEKimlik ve açıklama alanları; listeleme yanıtında görünür (SCRIPT_DILI ve SCRIPT_TEXT bilerek görünmez).

Adla bağlama (önerilen yazım). SCRIPT_TEXT içinde :ad biçiminde yer tutucular kullanılırsa her yer tutucu istek gövdesinin (HTTP) ya da arguments nesnesinin (MCP) aynı adlı alanına bağlanır; aynı ad birden çok yerde geçebilir, şemadaki özellik sırasının bir önemi kalmaz. Tırnak içleri ve :: (PostgreSQL tür dönüşümü) dokunulmaz, :1 gibi sayısal ekler yer tutucu sayılmaz. Verilmeyen argümanın parametresi NULL kalır.

Parametre sırası kuralı (? kullanan satırlar) — satırı düzenleyen kişinin sorumluluğunda. Değerler konumsal bağlanır: SCRIPT_TEXT içindeki ? işaretlerinin sırası ile PARAMETRELER içindeki inputSchema.properties özelliklerinin yazım sırası birebir aynı olmak zorundadır. İkisi arasında hiçbir zorlama yoktur ve uyuşmazlık hata üretmez: şemadaki özellikler yeniden sıralanırsa değerler sessizce yanlış kolonlara bağlanır. Bu yüzden mevcut bir satırda özellik eklerken/çıkarırken ? sırası da gözden geçirilmelidir; yeni özellik listenin sonuna eklenir ve SCRIPT_TEXT'e karşılık gelen ? aynı konuma yazılır. Kural HTTP ve MCP yollarının ikisinde de aynıdır. Eksik bir argümanın atlanması ise kasıtlıdır: o parametre NULL kalır, böylece şemada zorunlu olmayan alanlar çalışır.

CRUD yolunun (dağıtım öndeğeri /crud) sunduğu uçlar:

UçNe yapar
GET|POST /crud/endpointsEtkin WEBSENDP satırlarını listeler. Paketteki yönetim arayüzü bunu kullanır — “WS Uç Noktaları” sayfası (wwwroot/pages/Endpoints.html).
GET|POST /crud/fastapiBir WEBSENDP uç noktasını çalıştırır. İstek yöntemi satırın HTTP_METHOD değeriyle eşleşmek zorundadır: eşleşmeyen istek uç noktayı bulamaz ve 404 alır; POST diye yayımlanmış bir uç nokta GET ile koşmaz. SQL EXECUTE ve MQL EXECUTE betiği deyim bittiğinde commit eder; betiğin içinde commit yazılmaz (PSQL bloğu kabul etmez).
GET /crud/fastapihtmlSCRIPT_DILI = HTML/JS/CSS olan satırın içeriğini sunar — yani statik sayfa/betik/stil veritabanında tutulabilir.
/crud/dataTablo verisine standart REST erişimi — beş fiil, aşağıdaki bölüme bakın.
GET /crud/metadataVeritabanının kataloğu (tablolar, görünümler, kolonlar, anahtarlar, indeksler, yordamlar, işlevler) — aşağıdaki bölüme bakın.
GET /crud/service/versionSunucu ve işlemci sürümü.
Not

Yukarıda olmayan bir yol (ör. POST /crud/edit) 400 ile “Unknown endpoint” yanıtı alır. Yeni kayıt koleksiyon yoluna POST ile eklenir.