3.6 REST işlemcisi — ENDPOINT nesneleri

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

Yer:  Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı > 3. Diğer HTTP uçları (/ClientREST/...) >

3.6 REST işlemcisi — ENDPOINT nesneleri

Conf'ta {"processor": "REST", "path": "/api", "database": "<kayıt>"} ile bağlanan işlemci, o veritabanının kataloğundaki ENDPOINT nesnelerini (SQL: CREATE ENDPOINT ... METHOD ... PATH '/x' ... AS CALL <yordam>) sunar. İstek yolu işlemci yolundan sonraki parçadır (/api + PATH); eşleşme yol + yöntem (+ sanal konak). Sözleşme:

Durum Yanıt
uç bulundu, CONTENT RAW yordamın kurduğu yanıt olduğu gibi: durum kodu, Content-Type, ek başlıklar, metin ya da ikili gövde — eski istemci sözleşmeleri (ham JSON dizisi, HTML, base64 PDF, SOAP) böyle korunur; 202 kuralı burada geçerli değildir
uç bulundu, CONTENT DATASET 200 {"result": true, "metadata": {...}, "dataset": [[...]]} (/crud/fastapi biçimi; gövdede "metadata": false, "dataValueOnly": false); yordamın skaler parametreleri gövde JSON'undan ve sorgu parametrelerinden adla bağlanır
bilinmeyen yol / yöntem 404 / 405 + Allow, gövde {"result": false, "message": ...}
LOGIN / ROLE ucunda Basic yok ya da yanlış parola 401 + WWW-Authenticate: Basic
ANONYMOUS uçta Authorization: Bearer ... işlemci dokunmaz, başlık yordama geçer (yordam kendi JWT'sini doğrular, ör. NWS users/Authenticate → turmob/values); Basic değeri hiçbir uçta yordama ulaşmaz
LOGIN ucunda EXECUTE hakkı yok, ROLE ucunda rol üyesi değil, ALLOW FROM listesinde olmayan adres 403
RATE LIMIT aşıldı 429 + Retry-After (saniye)
gövde conf maxBodyBytes'ı aşıyor 413
yordamın yakalanmayan istisnası, süre sınırı (statementTimeoutMs), hedef yordam yok 500 {"result": false, "message": "..."} — ayrıntı yalnız ajanın günlüğünde

İletiler Accept-Language'de (IVDResponseMessageLocalizer; başlıksız istek İngilizce). Uç listesi DDL COMMIT'inde kendiliğinden yenilenir; POST /AdminREST/EXECCOMMAND {"command": "RELOADENDPOINTS"} CRUD ile birlikte REST işlemcilerini de yeniler. GET /AdminREST/SITE restProcessors: [{path, database, host}] ile conf'taki REST işlemcilerini verir (yönetim arayüzünün test paneli için).