Modelli Web come API
La tabella Modello di pagina ha un'impostazione che specifica se la pagina deve usare i modelli comuni di intestazione e piè di pagina del sito Web quando si usa il modello Web.
Se l'intestazione e il piè di pagina del sito Web non vengono usati, il modello si occupa di generare l'output dell'intera pagina. Se si esegue il rendering di codice HTML, questo output include il tipo di documento, l'elemento <html>
radice e tutti gli elementi intermedi. Questo approccio può essere utile in diversi scenari, come quando:
Pagine per scopi speciali devono avere un aspetto diverso rispetto al resto del portale, ad esempio le pagine di destinazione delle campagne di marketing.
Il modello Web genera contenuti non HTML, restituendo dati in XML, JSON o altri formati.
Ad esempio, è possibile creare un modello Web in formato JSON
che restituisce un elenco di account o qualsiasi altro dato a cui l'utente corrente ha accesso.
{% entityview logical_name:'account', name:'Active Accounts' %}
[
{% for acc in entityview.records -%}
{
"name": "{{ acc.name }}",
"phone": "{{ acc.telephone1 }}"
}{% unless forloop.last %},{% endunless %}
{% endfor -%}
]
{% endentityview %}
Nota
In questo esempio, invece del tag entityview
è possibile usare una query FetchXML nel tag fetchxml
. L'uso di FetchXML inline aggiunge una certa flessibilità alla query. È possibile costruire la query dinamicamente con i parametri del modello o anche con un oggetto request
che contiene i parametri della stringa di query di una richiesta della pagina HTTP corrente.
Questo modello si userà senza intestazione e piè di pagina, con il tipo MIME impostato su application/json
. L'output avrà un aspetto simile all'esempio seguente:
[
{
"name": "A Datum Corporation",
"phone": "425-555-0182"
},
{
"name": "A Datum Fabrication",
"phone": "303-555-0134"
},
{
"name": "A Datum Integration",
"phone": "512-555-0163"
},
{
"name": "A. Datum",
"phone": "+86-23-4444-0100"
},
{
"name": "Adventure Works",
"phone": "+27-264-1234567"
}
]
Suggerimento
Valutare l'uso dell'API Web dei portali per il recupero dati, se applicabile. L'API Web dei portali è veloce ed evita completamente l'elaborazione dei modelli lato server. Tuttavia, se è necessaria una trasformazione dei dati, occorrerà completarla usando JavaScript sul lato client. Al contrario, i modelli Liquid possono trasformare e usare i dati interamente sul lato server. Per ulteriori informazioni, vedere Operazioni di lettura dei portali usando l'API Web.
La pagina che usa questo modello Web non verrà visualizzata dagli utenti che usano un browser, ma chiamata dal codice JavaScript, definendo in modo efficace un endpoint API per la soluzione. Il codice JavaScript presente in un'altra pagina potrà caricare e visualizzare questi dati in base alle esigenze.
L'autorizzazione è attiva e l'accesso ai dati di Microsoft Dataverse con questo modello "senza intestazione" non è diverso rispetto a uno scenario in cui il rendering dell'output viene eseguito come codice HTML. La pagina che esegue la chiamata in genere richiede l'autenticazione dell'utente prima di chiamare l'endpoint.