Webvorlagen als API

Abgeschlossen

Die Tabelle Seitenvorlage besitzt eine Einstellung, die festlegt, ob die Seite bei Verwendung einer Webvorlage die allgemeinen Kopf‑ und Fußzeilenvorlagen der Website verwenden soll.

Seitenvorlagen-Einstellung für die Verwendung von Kopf- und ‑Fußzeile der Website

Wenn die Kopf- und Fußzeilen einer Website nicht verwendet werden, geht die Vorlage davon aus, dass sie zum Generieren der gesamten Seitenausgabe zuständig ist. Wenn Sie HTML rendern, umfasst die Ausgabe alle Elemente vom Doctype bis hin zu den <html>-Stammtags. Dieser Ansatz kann in verschiedenen Szenarien nützlich sein:

  • Spezialseiten, die anders aussehen müssen als der Rest des Portals, z. B. Angebotsseiten für Marketingkampagnen.

  • Die Webvorlage generiert Nicht-HTML-Inhalte und gibt Daten im XML-Format, JSON-Format oder anderen Formaten zurück.

Sie können beispielsweise eine Webvorlage erstellen, die eine Liste von Konten oder anderen Daten zurückgibt, auf die der aktuelle Benutzer im json-Format Zugriff hat.

{% tableview logical_name:'account', name:'Active Accounts' %}
[
{% for acc in tableview.records -%}
    {
        "name": "{{ acc.name }}",
        "phone": "{{ acc.telephone1 }}"
    }{% unless forloop.last %},{% endunless %}
{% endfor -%}
]
{% endtableview %}

Hinweis

In diesem Beispiel können Sie anstelle des tableview-Tags eine FetchXML-Abfrage innerhalb des fetchxml-Tags verwenden. Die Verwendung von Inline-FetchXML verleiht der Abfrage eine gewisse Flexibilität. Die Abfrage kann dynamisch mithilfe von Vorlagenparametern oder sogar dem Objekt request erstellt werden, das Zeichenfolgenparameter für Abfragen einer aktuellen HTTP-Seitenanforderung enthält.

Diese Vorlage wird ohne Kopf- und Fußzeile verwendet; der MIME-Typ ist auf application/json festgelegt. Die Ausgabe ähnelt dem folgenden Beispiel:

[
  {
      "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"
  }
]

Die Seite, die diese Webvorlage verwendet, wird nicht von den Benutzern in einem Browser verwendet, sondern aus JavaScript-Code aufgerufen, wodurch ein API-Endpunkt für Ihre Lösung definiert wird. JavaScript auf einer anderen Seite kann diese Daten bei Bedarf laden und rendern.

Die Autorisierung ist verfügbar, und der Zugriff auf Microsoft Dataverse-Daten, die diese kopfzeilenlose Vorlage verwenden, ist nicht anders als in Fällen, in denen die Ausgabe als HTML gerendert wurde. Die aufrufende Seite erfordert normalerweise eine Benutzerauthentifizierung, bevor der Endpunkt aufgerufen wird.