|
<< İç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).