Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| apireference:manifesto_microservizio [2024/04/08 12:59] – marcomerlino | apireference:manifesto_microservizio [2024/04/22 14:08] (versione attuale) – marcomerlino | ||
|---|---|---|---|
| Linea 21: | Linea 21: | ||
| {" | {" | ||
| + | |||
| + | Inoltre nello stesso potrà essere presente una sezione " | ||
| ==== Configurazione del Microservizio ==== | ==== Configurazione del Microservizio ==== | ||
| Linea 40: | Linea 42: | ||
| Il client non potrà fare assunzioni sul valore delle stesse che sarà oggetto di tuning microservizio per microservizio (ad esempio un microservizio potrà consentire di caricare 1000 oggetti per volta, un altro solo di 10 per ragioni tecniche/di performance/ | Il client non potrà fare assunzioni sul valore delle stesse che sarà oggetto di tuning microservizio per microservizio (ad esempio un microservizio potrà consentire di caricare 1000 oggetti per volta, un altro solo di 10 per ragioni tecniche/di performance/ | ||
| + | |||
| + | ==== Definizione dei campi ==== | ||
| + | |||
| + | Ogni campo sarà rappresentato dalle seguenti proprietà: | ||
| + | |||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | |||
| + | **uuid**: "code di un oggetto": | ||
| + | |||
| + | nota: se l oggetto relazionato dovesse essere residente su un altro microservizio può essere cachato localmente fino al riavvio del microservizio | ||
| + | |||
| + | **date, datetime: " | ||
| + | |||
| + | non è possibile impostarla per campi " | ||
| + | |||
| + | Per valori di default più avanzati occorrerà implementare un event handler nel backend. | ||
| + | |||
| + | L' | ||
| + | |||
| + | Nota bene: il valore di default non è da intendersi come un' | ||
| + | |||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | * Elenco puntato" | ||
| + | |||
| + | Queste proprietà saranno affiancate da altre in future revisioni di questa specifica per accomodare la ricerca full-text (ad esempio il peso, e la ricercabilità). | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | } | ||
| + | |||
| + | ==== Indicazioni UI ==== | ||
| + | |||
| + | Per consentire all’UI di autogenerare i campi in una maniera organizzata verrà fornita una sezione, detta “ui” di suggerimenti così organizzata: | ||
| + | |||
| + | * 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 | ||
| + | * 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, | ||
| + | Esempio: | ||
| + | “ui”:[ | ||
| + | { | ||
| + | “name”: | ||
| + | “format”: | ||
| + | “fields”: | ||
| + | | ||
| + | | ||
| + | ] | ||
| + | }, | ||
| + | { | ||
| + | “name”: | ||
| + | “format”: | ||
| + | “fields”: | ||
| + | | ||
| + | | ||
| + | ] | ||
| + | } | ||
| + | ] | ||
| + | |||
| + | ==== Il formato di Errore ==== | ||
| + | |||
| + | il formato d' | ||
| + | |||
| + | * codice errore (obbligatorio) | ||
| + | * descrizione testuale errore | ||
| + | * parametri errore | ||
| + | |||
| + | Ad esempio: | ||
| + | |||
| + | {" | ||
| + | |||
| + | ==== API del microservizio ==== | ||
| + | |||
| + | Ogni api per accedere a un modello sarà descritta in termini di: | ||
| + | |||
| + | * codice identificativo | ||
| + | * nome mnemonico | ||
| + | * verbo http (GET, POST, ...) | ||
| + | * url di accesso (assoluta rispetto alla root di dominio del manifest del microservizio o assoluta, quindi, se ad esempio abbiamo un manifest tipo https:// | ||
| + | * parametri url: saranno descritti i parametri concatenabili dall' | ||
| + | * 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: " | ||
| + | * response | ||
| + | * capabilities richieste (oggetto contenente un array di capabilities in or organizzate per funzione) | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | " | ||
| + | |||
| + | * 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' | ||
| + | * Tutte le risposte potranno essere validate verificando la nullità del JSONPath (JSONPath) $.error.code | ||
| + | Per migliorare l' | ||
| + | |||