|
<< İçindekileri Görüntülemek İçin Tıklayın >> Yer: Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı > 9. CRUD işlemcisi (/crud) > 9.1 WEBSENDP tabanlı uç noktalar |
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ü. |
Not. Not
Yukarıda olmayan bir yol (ör.
POST /crud/edit)400ile “Unknown endpoint” yanıtı alır. Yeni kayıt koleksiyon yolunaPOSTile eklenir.