• IT
betterdocs-cat-icon 1-svg

Qualcosa è andato storto?

Condividi con noi la tua opinione per migliorare la nostra documentazione.

    Getting Started

    • Introduzione Instant Developer Cloud
    • Composizione della piattaforma
    • Struttura dei progetti
    • La programmazione relazionale
    • Apprendere l’uso di Instant Developer Cloud

    Struttura di un'applicazione

    • Introduzione (applicazione e sessione)
    • Le videate
    • Classi e librerie
    • Risorse e CSS
    • I pacchetti
    • Programmazione asincrona

    Struttura del database

    • Introduzione (struttura del database)
    • Definizione degli schemi relazionali
    • Scrittura di query ed esecuzione di comandi
    • Gestione dei database nel cloud
    • Il Cloud Connector

    Document Orientation

    • Introduzione Document Orientation
    • Definire Documenti e Collection
    • Utilizzo dei documenti
    • Estensione dei documenti

    Datamap

    • Introduzione Datamap
    • Creazione di liste di documenti
    • Modifica dei documenti con videate di dettaglio
    • Datamap innestate e ricorsive

    IonicUI

    • Introduzione IonicUi
    • Le pagine IonicUI
    • Definire il contenuto delle pagine
    • Il page controller
    • Il metodo app.popup
    • Videate come elementi visuali
    • Personalizzazione di IonicUI
    • Configurazione dei ruoli e degli accessi

    Pannelli e Griglie

    • Introduzione (Pannelli e Griglie)
    • Anatomia di un pannello
    • I pannelli a runtime

    Web API e file system

    • Introduzione Web API
    • Il file system
    • Consumare Web API
    • Esporre Web API
    • Web API in formato OData
    • Utilizzare Web API Instant Developer Foundation
    • Web API in formato OpenAPI

    Sincronizzazione

    • Introduzione sistema di sincronizzazione
    • Scambio di messaggi in tempo reale
    • Document Orientation Remota
    • Sincronizzazione del database offline

    Debugging e Test

    • Introduzione Debugging e Test
    • Strumenti e tecniche di debug
    • Test automatico delle applicazioni

    Traduzioni

    • Introduzione (traduzioni)
    • Processo di traduzione
    • Funzionamento del framework di localizzazione
    • Localizzazione di numeri e date

    Integrazioni di componenti esterni

    • Introduzione (integrazioni di componenti esterni)
    • Integrazione di componenti JavaScript
    • Integrazione di librerie di back-end
    • Integrazione di un plugin Cordova

    Launcher e Pubblicazione

    • Introduzione Launcher
    • I plugin nativi
    • Test delle applicazioni nei launcher
    • Pubblicazione sugli store
    • Configurazioni per gli store
    • Fase di build e di invio
    • Gestione dell’applicazione

    Analitiche e Feedback

    • Introduzione Analytics e Feedback
    • Installazione ed uso di Analytics
    • Raccolta dei feedback degli utenti

    Server di Produzione

    • Introduzione server di produzione
    • I server di Instant Developer Cloud
    • I server My Cloud
    • I server Self Managed
    • Tabella comparativa

    Cloud Connector

    • Cos’è il Cloud Connector
    • Installazione Cloud Connector
    • Configurazione
    • Installazione come servizio
    • Esempio di utilizzo
    • Controllo remoto
    • Note

    Team Works

    • Perché non basta GitHub?
    • Team Works: concetti base
    • Organizzazione del lavoro consigliata
    • Risoluzione dei problemi relativi a Team Works
    • Domande sull’utilizzo di Team Works

    Manuale PWA

    • Cos’è una PWA?
    • Creazione di una PWA su Instant Developer Cloud
    • Life Cycle
    • Installazione PWA
    • Funzionalità
    • Plugin
    View Categories

    Consumare Web API

    Contenuti
    • Esecuzione di una chiamata get
    • Esecuzione di una chiamata post
    • Web API e documenti

    In questo paragrafo vediamo come utilizzare una Web API REST generica, così definita in quanto non utilizza uno specifico standard semantico per le chiamate. In questi casi, il metodo di utilizzo è semplice: si crea un’istanza di url che rappresenta l’endpoint della Web API e si utilizzano i metodi get e post per recuperare o inviare dati.

    Esecuzione di una chiamata get #

    Vediamo un esempio di come recuperare dati da una Web API REST. Verrà utilizzato un endpoint di test che espone i dati della tabella Employees del database NorthWind. 

    let endpoint = "https://examples.instantdevelopercloud.com/
                                   datamapdesignpatterns/Employee";
    let u = app.fs.url(endpoint);
    //
    let options = {
      authentication : {
    username:”alladin”, 
    password:”opensesame”
      }
    };
    //
    let resp = yield u.get(options);
    let ok = resp.status === 200;
    if (ok) {
      let data = JSON.parse(resp.body);
      let emplist = data.value;
      //
      for (let i = 0; i < emplist.length; i++) {
        let emp = emplist[i];
        console.log(emp);
      }
    }
    //
    return ok;

    Dopo aver effettuato la chiamata get all’endpoint, passando i parametri per l’autenticazione basic richiesti dall’endpoint, è opportuno controllare il codice di ritorno che solitamente è 200 quando l’operazione ha avuto successo.

    A questo punto la risposta, che è in formato JSON come comunemente accade, viene trasformata in oggetto e viene estratto l’array dei dati degli impiegati. In questo esempio i dati vengono semplicemente stampati nella console, ma possono anche essere caricati in una datamap o in una collection.

    Esecuzione di una chiamata post #

    Per modificare i dati vengono normalmente utilizzati i metodi post, patch e delete. Siccome stiamo trattando di Web API generiche, per sapere quale metodo utilizzare in base all’operazione richiesta occorre fare riferimento alla documentazione della Web API.

    Nell’esempio seguente utilizziamo il metodo post per creare un nuovo impiegato, utilizzando sempre l’endpoint precedente.

    let endpoint = "https://examples.instantdevelopercloud.com/
                                   datamapdesignpatterns/Employee";
    let u = app.fs.url(endpoint);
    //
    let authdata = {
      username:”alladin”,
      password:”opensesame”
    };
    let body = {
      EmployeeID : 444, 
      FirstName : ”Giuseppe”,
      LastName : “Ferrari”, 
      Title : ”Sig”,
      Country : ”Italia”, 
      Notes : “Corre veloce”
    }
    //
    let resp = yield u.post({
      authentication: authdata,
      body: body
    });
    if (resp.status !== 201) {
      let data = JSON.parse(resp.body);
      console.log(“errore”, data.error);
    }

    Dopo aver inviati i dati del nuovo impiegato all’endpoint occorre controllare la risposta per verificare se l’operazione ha avuto successo o sono avvenuti degli errori.

    Web API e documenti #

    Il modo migliore per utilizzare chiamate a Web API esterne è quello di inserire il codice di recupero dati o di invio delle modifiche all’interno di una classe documento. 

    In questo modo l’applicazione potrà interagire con il documento, senza avere conoscenza di come il documento viene permanentizzato, cioè letto o scritto in un data store. Si aumenta così il livello di incapsulamento del sistema.

    I documenti favoriscono questa modalità di utilizzo delle Web API attraverso gli eventi beforeLoad e onSave. 

    L’evento beforeLoad permette di intercettare le chiamate ai metodi di caricamento dati (loadByKey, loadCollection, collection.load) e sostituirli con chiamate a Web API, restituendo poi i risultati trovati nel parametro collection. Il tipo di caricamento richiesto viene passato nel parametro options.loadType, mentre i filtri di caricamento sono presenti nelle proprietà del documento a cui viene notificato l’evento.
    L’evento onSave permette di intercettare le fasi di salvataggio del documento e sostituirle con chiamate Web API. A seconda della modalità prevista dalla Web API, è possibile intercettare la fase di beforeSave, oppure quella di inserting, updating e deleting. Si ricorda di impostare a true la proprietà options.skip che permette di disabilitare il salvataggio nel database eseguito dal framework.

    Ti è stato utile?
    Aggiornato il 15 Aprile 2024
    Il file systemEsporre Web API
    Contenuti
    • Esecuzione di una chiamata get
    • Esecuzione di una chiamata post
    • Web API e documenti

    Caratteristiche

    • Perché Instant Developer
    • IDE e Ambiente di Sviluppo
    • Pubblicazione Web & Mobile
    • Software Life Cycle & DevOps
    • Database, Integrazione, Sync
    • Collaboration & Workflow

    Soluzioni

    • Freelance
    • Software House
    • Company IT
    • Casi di successo
    • Applicazioni Sviluppate

    Azienda

    • Chi Siamo
    • Contatti
    • Lavora con noi

    Risorse

    • Documentazione
    • Risorse e Tutorial
    • Blog
    • Starter Kit
    • Pricing
    • Inizia Ora
    Crea un account e Inizia Gratis
    • Seguici su Twitter
    • Seguici su Facebook
    • Seguici su LinkedIn
    • Seguici su YoutTubeSeguici su YouTube
    Questo sito è protetto dalla tecnologia reCAPTCHA Enterprise e si applicano l'Informativa sulla privacy e i Termini di servizio di Google.
    Google Policy | Termini
    © Pro Gamma - p.iva, c.f. e iscr. Camera di Commercio Bologna 01985091204 - Sede legale Via D'Azeglio, 51 40123 Bologna - Italia Pro Gamma Instant Developer® è un marchio registrato.
    Privacy Policy | Cookie Policy
    • IT