Strumenti Utente

Strumenti Sito


apireference:manifesto_microservizio

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
apireference:manifesto_microservizio [2024/04/08 13:25] marcomerlinoapireference:manifesto_microservizio [2024/04/22 14:08] (versione attuale) marcomerlino
Linea 21: Linea 21:
  
 {"code":"pim","name":"Product Information Management"} {"code":"pim","name":"Product Information Management"}
 +
 +Inoltre nello stesso potrà essere presente una sezione "relations" che contenga i microservizi referenziati dallo stesso (in formato codice: manifesto)
  
 ==== Configurazione del Microservizio ==== ==== Configurazione del Microservizio ====
Linea 116: Linea 118:
  
 il formato d'errore è un oggetto composto da: il formato d'errore è un oggetto composto da:
-codice errore (obbligatorio) + 
-descrizione testuale errore +  * codice errore (obbligatorio) 
-parametri errore+  descrizione testuale errore 
 +  parametri errore 
 Ad esempio: Ad esempio:
-{"error":{"code":"F001","description":"Il campo codice non è  + 
-univoco","params":[{"field":"code"}]}} +{"error":{"code":"F001","description":"Il campo codice non è univoco","params":[{"field":"code"}]}} 
-API Microservizi v1.0.2 + 
-API del microservizio+==== API del microservizio ==== 
 Ogni api per accedere a un modello sarà descritta in termini di: Ogni api per accedere a un modello sarà descritta in termini di:
-codice identificativo + 
-nome mnemonico +  * codice identificativo 
-verbo http (GET, POST, ...) +  nome mnemonico 
-url di accesso (assoluta rispetto alla root di dominio del manifest del microservizio o assoluta,  +  verbo http (GET, POST, ...) 
-quindi, se ad esempio abbiamo un manifest tipo https://pim.neosidea.com/api/Manifest.json, lo  +  url di accesso (assoluta rispetto alla root di dominio del manifest del microservizio o assoluta, quindi, se ad esempio abbiamo un manifest tipo https://pim.neosidea.com/api/Manifest.json, lo stesso potrà specificare url di accesso tipo: /api/product/create/ o https://pim.neosidea.com/api/product/create/ 
-stesso potrà specificare url di accesso tipo: /api/product/create/ +  parametri url: saranno descritti i parametri concatenabili dall'url di accesso in termini di codice identificativo, nome mnemonico, tipo (dal sottoinsieme: text/number/integer/positivenumber/positiveinteger/date/datetime/time/timerange/boolean/uuid ), e obbligatorierà, gli stessi dovranno essere passati codificati in USASCII e separati da un forward slash. 
-https://pim.neosidea.com/api/product/create/ +  parametri: saranno descritte le chiavi utilizzabili in un oggetto json trasferibile nel contenuto delle chiamate, in aggiunta ai tipi sin qui visti occorre prevedere i tipi speciali: "array" e "object" che potranno essere utilizzati per trasferire vettori di oggetti, oggetti, oggetti di ricerca, oggetti di risposta, e il tipo "blob" per i trasferimenti binary o opachi alla specifica. 
-parametri url: saranno descritti i parametri concatenabili dall'url di accesso in termini di codice  +  response 
-identificativo, nome mnemonico, tipo (dal sottoinsieme:  +  capabilities richieste (oggetto contenente un array di capabilities in or organizzate per funzione) 
-text/number/integer/positivenumber/positiveinteger/date/datetime/time/timerange/boolean/uuid ), e  +
-obbligatorierà, gli stessi dovranno essere passati codificati in USASCII e separati da un forward slash. +
-parametri: saranno descritte le chiavi utilizzabili in un oggetto json trasferibile nel contenuto delle  +
-chiamata, in aggiunta ai tipi sin qui visti occorre prevedere i tipi speciali: "array" e "object" che  +
-potranno essere utilizzati per trasferire vettori di oggetti, oggetti, oggetti di ricerca, oggetti di risposta, e  +
-il tipo "blob" per i trasferimento binary o opachi alla specifica. +
-response +
-capabilities richieste (oggetto contenente un array di capabilities in or organizzate per funzione)+
 Esempio: Esempio:
-"new":{"name":"Create new  + 
-objects","method":"GET","url":"/api/product/create/","params":[{"code":"num","name":"Nume +"new":{"name":"Create new objects","method":"GET","url":"/api/product/create/","params":[{"code":"num","name":"Numero","type":"positiveinteger","required":true}],"response":"array","capabilities":{}} 
-ro","type":"positiveinteger","required":true}],"response":"array","capabilities":{}} + 
-In aggiunta alle chiamate standard la stessa potrà prevedere chiamate custom (es: changepassword). +  * Elenco puntatoIn aggiunta alle chiamate standard la stessa potrà prevedere chiamate custom (es: changepassword). 
-Il formato della risposta è sempre da intendersi in alternativa al formato d'errore. +  Il formato della risposta è sempre da intendersi in alternativa al formato d'errore. 
-Tutte le risposte potranno essere validate verificando la nullità del JSONPath (JSONPath) $.error.code  +  Tutte le risposte potranno essere validate verificando la nullità del JSONPath (JSONPath) $.error.code  
-Per migliorare l'integrazione delle stesse sarebbe utile evidenziare nel manifest le capabilities  +Per migliorare l'integrazione delle stesse sarebbe utile evidenziare nel manifest le capabilities necessarie per il possibile utilizzo di una api, di modo che la UI possa mostrare/nascondere le funzioni sulla base del permesso utente, questa funzione sarà aggiunta alla specifica in una futura revisione.
-necessarie per il possibile utilizzo di una api, di modo che la UI possa mostrare/nascondere le funzioni  +
-sulla base del permesso utente, questa funzione sarà aggiunta alla specifica in una futura revisione.+
  
  
apireference/manifesto_microservizio.1712582713.txt.gz · Ultima modifica: 2024/04/08 13:25 da marcomerlino