English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Servizi
  • Web API

On Web API

evento link

Condizioni di notifica

Questo evento viene notificato dal documento durante la gestione di una chiamata a WebAPI. I possibili tipi di chiamate sono i seguenti:

  • caricamento di una risorsa; in questo caso il metodo HTTP è GET e i valori della PK sono specificati nell'URL (ad esempio http://dominio/app/classe/val1/val2);
  • ricerca di una collezione di un tipo di risorsa; in questo caso il metodo HTTP è GET e i criteri di ricerca sono specificati nell'URL (ad esempio http://dominio/app/classe/?prop1=val&prop2=val);
  • inserimento di una nuova risorsa; in questo caso il metodo HTTP è POST e i dati del documento sono specificati nel contenuto in formato JSON o XML;
  • eliminazione di una risorsa; in questo caso il metodo HTTP è DELETE e i valori della PK sono specificati nell'URL (ad esempio http://dominio/app/classe/val1/val2);
  • aggiornamento di una risorsa; in questo caso il metodo HTTP è PUT; i valori modificati possono essere specificati nella query string dell'URL (ad esempio http://dominio/app/classe/?prop1=val&prop2=val) oppure nel contenuto in formato JSON o XML;
  • chiamata ad un metodo del documento; in questo caso il metodo HTTP è il nome del metodo e gli eventuali parametri del metodo sono specificati nell'URL o nel contenuto.

Utilizzo consigliato

Questo evento può essere usato per ottenere comportamenti personalizzati (ad esempio aggiungere criteri di filtro ad una ricerca o caricare in modo diverso il documento) prima che il framework esegua l'operazione richiesta dalla chiamata a WebAPI oppure per indicare al framework di non eseguire l'operazione richiesta.

Argomenti

Cancel Parametro booleano di output. Se impostato a true interrompe la chiamata a WebAPI.

Esempio di codice (Deep Linking)

event Order.OnWebAPI(
  inout boolean Cancel // A boolean output parameter. If set to true it st...
)
{
  if (WebApiService.getMethod() == "GET")
  {
    // Ser userRole to bypass login page
    CRM.userRole = Administrator
    // 
    // Show the desired form

    Orders.show(...)
  }
}

Esempio di codice (Ricerca personalizzata)

event Order.OnWebAPI(
  inout boolean Cancel // A boolean output parameter. If set to true it st...
)
{
  IDMap parameters = WebApiService.getParameters()
  // 
  // Only for request of search

  if (WebApiService.getMethod() == "GET" && parameters.length() > 0)
  {
    // Return an empty collection
    IDCollection empty of Order = new()
    empty.loaded = true
    WebApiService.outputCollection = empty
  }
}
  • Se l'evento viene annullato per fornire una risposta personalizzata occorre usare il metodo SetResponse.
  • È possibile gestire questo evento per ottenere funzionalità di Deep Linking. In questo caso occorre annullare l'evento in modo che la richiesta venga gestita dal framework RD3, che risponderà con l'interfaccia utente.
  • Per gestire in modo personalizzato il risultato di una ricerca, occorre valorizzare la proprietà OutputCollection.
  • Per cambiare il livello dei figli da coinvolgere, occorre valorizzare la proprietà ChildLevel.
  • Per conoscere il tipo, i parametri e gli header della richiesta occorre usare i metodi GetMethod, GetParameters e GetHeaders.
  • È possibile globalizzare questo evento per generalizzare ad esempio un'autenticazione tramite header.
  • Per maggiori dettagli su come e quando usare questo evento, fare riferimento alla guida all'uso delle Web API.

Ultima modifica: 23/03/2021 / Validità: da 13.0.5600

Vedi Anche

  • Set Response (procedura)
  • Output Collection (proprietà)
  • Child Level (proprietà)
  • Get Method (funzione)
  • Get Parameters (funzione)
  • Get Headers (funzione)
  • Deep Linking
    Web API - Guida all'uso

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum