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:21] 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 87: Linea 89:
 ==== Indicazioni UI ==== ==== Indicazioni UI ====
  
-Per consentire all’UI di autogenerare i campi in una maniera organizzata verrà fornita una sezione,  +Per consentire all’UI di autogenerare i campi in una maniera organizzata verrà fornita una sezione, detta “ui” di suggerimenti così organizzata: 
-detta “ui” di suggerimenti così organizzata: + 
-Una lista ordinata di definizioni di Sezione, ogni sezione sarà caratterizzata da Nome, formato  +  * Una lista ordinata di definizioni di Sezione, ogni sezione sarà caratterizzata da Nome, formato di visualizzazione dei campi (numero da 1 a 12) e elenco ordinato dei campi 
-di visualizzazione dei campi (numero da 1 a 12) e elenco ordinato dei campi +  Per ogni campo verrà riportato in un oggetto il codice campo, così da lasciar aperta la specifica a ulteriori estensioni 
-Per ogni campo verrà riportato in un oggetto il codice campo, così da lasciar aperta la specifica  + 
-a ulteriori estensioni +L’utilizzo delle stesse è facoltativo, e la gestione di informazioni incoerenti o mancanti è lasciata alla ui (ad es: campi doppi, campi mancanti).
-L’utilizzo delle stesse è facoltativo, e la gestione di informazioni incoerenti o mancanti è lasciata alla ui  +
-(ad es: campi doppi, campi mancanti).+
 Esempio: Esempio:
 “ui”:[ “ui”:[
-+   
-“name”:”Informazioni Principali”, +      “name”:”Informazioni Principali”, 
-“format”:12, +      “format”:12, 
-“fields”:+      “fields”:
-{“field”:”brand”}, +         {“field”:”brand”}, 
-{“field”:”name”},+         {“field”:”name”}, 
 +      ] 
 +   }, 
 +   { 
 +      “name”:”Informazioni Aggiuntive”, 
 +      “format”:6, 
 +      “fields”:
 +         {“field”:”issinglevintage”}, 
 +         {“field”:”year”}, 
 +      ] 
 +   }
 ] ]
-}, + 
-+==== Il formato di Errore ==== 
-“name”:”Informazioni Aggiuntive”, +
-“format”:6, +
-“fields”:+
-{“field”:”issinglevintage”}, +
-{“field”:”year”}, +
-+
-+
-] +
-Il formato di Errore+
 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.1712582479.txt.gz · Ultima modifica: 2024/04/08 13:21 da marcomerlino