|
<< İç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ı:
| Alan | Anlamı |
|---|---|
PATH | Uç noktanın adı; istekte bu adla çağrılır. |
HTTP_METHOD | Hangi 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_TEXT | Sunulacak içerik ya da çalıştırılacak metin. |
PARAMETRELER | Parametre 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_KODU | Gerekli 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_NAME | Kimlik 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/endpoints | Etkin WEBSENDP satırlarını listeler. Paketteki yönetim arayüzü bunu kullanır — “WS Uç Noktaları” sayfası (wwwroot/pages/Endpoints.html). |
GET|POST /crud/fastapi | Bir 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/fastapihtml | SCRIPT_DILI = HTML/JS/CSS olan satırın içeriğini sunar — yani statik sayfa/betik/stil veritabanında tutulabilir. |
/crud/data | Tablo verisine standart REST erişimi — beş fiil, aşağıdaki bölüme bakın. |
GET /crud/metadata | Veritabanı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/version | Sunucu ve işlemci sürümü. |
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.