GET
1:N – Verknüpfte Datensätze lesen
1:N: $expand verwenden, um untergeordnete Datensätze abzurufen (z. B. Account → Contacts)
webapi.safeAjax({
type: "GET",
url: "/_api/accounts(account-id)?$expand=contact_customer_accounts",
success: function(data) {
console.log("Child contacts:", data.contact_customer_accounts);
}
});
GET
N:1 – Übergeordneten Datensatz lesen
N:1: $expand verwenden, um den übergeordneten Datensatz abzurufen (z. B. Contact → Account)
webapi.safeAjax({
type: "GET",
url: "/_api/contacts(contact-id)?$expand=parentcustomerid_account",
success: function(data) {
console.log("Parent account:", data.parentcustomerid_account);
}
});
POST
Erstellen mit N:1-Lookup
Untergeordneten Datensatz erstellen und über Lookup-Feldbindung mit übergeordnetem verknüpfen
webapi.safeAjax({
type: "POST",
url: "/_api/contacts",
contentType: "application/json",
data: JSON.stringify({
"firstname": "John",
"lastname": "Doe",
"parentcustomerid_account@odata.bind": "/accounts(account-id)"
})
});
PATCH
N:1-Beziehung aktualisieren (Methode 1)
Lookup per @odata.bind-Annotation in PATCH-Anfrage aktualisieren
webapi.safeAjax({
type: "PATCH",
url: "/_api/contacts(contact-id)",
contentType: "application/json",
data: JSON.stringify({
"parentcustomerid_account@odata.bind": "/accounts(new-account-id)"
})
});
PUT
N:1-Beziehung aktualisieren (Methode 2)
Referenz per PUT auf den $ref-Endpunkt mit @odata.id ändern
webapi.safeAjax({
type: "PUT",
url: "/_api/contacts(contact-id)/parentcustomerid_account/$ref",
contentType: "application/json",
data: JSON.stringify({
"@odata.id": "/_api/accounts(new-account-id)"
})
});
DELETE
N:1-Lookup entfernen (Trennen)
Einfache Navigationseigenschaft per DELETE auf dem $ref-Endpunkt entfernen
webapi.safeAjax({
type: "DELETE",
url: "/_api/contacts(contact-id)/parentcustomerid_account/$ref",
success: function() {
console.log("Lookup cleared");
}
});
GET
N:N – Many-to-Many lesen
N:N: $expand mit Beziehungskollektion verwenden (z. B. Contact → Marketing-Listen)
webapi.safeAjax({
type: "GET",
url: "/_api/contacts(contact-id)?$expand=listmember_association",
success: function(data) {
console.log("Marketing lists:", data.listmember_association);
}
});
POST
N:N – Datensätze verknüpfen
Many-to-Many-Beziehung über den $ref-Endpunkt erstellen
webapi.safeAjax({
type: "POST",
url: "/_api/contacts(contact-id)/listmember_association/$ref",
contentType: "application/json",
data: JSON.stringify({
"@odata.id": "/_api/lists(list-id)"
})
});
DELETE
N:N – Datensätze trennen
Many-to-Many-Beziehung per $ref mit $id-Abfrageparameter entfernen
webapi.safeAjax({
type: "DELETE",
url: "/_api/contacts(contact-id)/listmember_association/$ref?$id=/_api/lists(list-id)",
success: function() {
console.log("Relationship removed");
}
});
Namen der Navigationseigenschaften
Beziehungsnamen im Power Pages Design Studio oder über den $metadata-Endpunkt ermitteln
/_api/$metadata