Entiteiten bijwerken en verwijderen met de Web-API
Gepubliceerd: januari 2017
Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Bewerkingen om gegevens te wijzigen vormen een wezenlijk onderdeel van de Web-API. Naast eenvoudige bijwerk- en verwijderbewerkingen kunt u bewerkingen uitvoeren op enkele kenmerken en upsert-aanvragen opstellen waarmee een entiteit wordt bijgewerkt of ingevoegd, afhankelijk van de vraag of de entiteit bestaat.
Notitie
De metagegevens die entiteiten definiëren, worden bijgewerkt op een andere manier.Meer informatie:Entiteitsdefinities maken en bijwerken met behulp van de web-API
In dit onderwerp
Basisbijwerkbewerking
Bijwerken met gegevens retourneren
Eén eigenschapswaarde bijwerken
Eén eigenschapswaarde verwijderen
Upsert toepassen op een entiteit
Basisverwijderbewerking
Basisbijwerkbewerking
In bijwerkbewerkingen wordt HTTP PATCH gebruikt. Geef een JSON-object door met de eigenschappen die u wilt bijwerken in URI waarmee de entiteit wordt vertegenwoordigd. Een respons met een status van 204 wordt geretourneerd als de bijwerking is gelukt.
In dit voorbeeld wordt een bestaande accountrecord met de accountid-waarde van 00000000-0000-0000-0000-000000000001 bijgewerkt.
Belangrijk
Neem bij het bijwerken van een entiteit alleen de eigenschappen op die u in de aanvraagtekst wijzigt. Als u eenvoudigweg de eigenschappen van een entiteit bijwerkt die u eerder hebt opgehaald en die JSON in uw aanvraag opneemt, wordt elke eigenschap bijgewerkt, zelfs als de waarde hetzelfde is. Hierdoor kan het lijken dat eigenschappen zijn bijgewerkt in controlegegevens, terwijl ze in werkelijkheid niet zijn gewijzigd.
Aanvraag
PATCH cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1 Content-Type: application/json OData-MaxVersion: 4.0 OData-Version: 4.0 { "name": "Updated Sample Account ", "creditonhold": true, "address1_latitude": 47.639583, "description": "This is the updated description of the sample account", "revenue": 6000000, "accountcategorycode": 2 }
Respons
HTTP/1.1 204 No Content OData-Version: 4.0
Notitie
Zie Entiteiten koppelen bij bijwerken voor informatie over het koppelen van entiteiten bij het bijwerken.
Bijwerken met gegevens retourneren
Notitie
Deze mogelijkheid is toegevoegd in de Update voor Dynamics 365 (online en on-premises) - december 2016.
Om gegevens op te halen van een entiteit die u bijwerkt, kunt u uw PATCH-aanvraag zodanig samenstellen dat de gegevens van de gemaakte record worden geretourneerd met de status 200 (OK). Om dit resultaat te verkrijgen, moet u de voorkeur return=representation gebruiken in de aanvraagheaders.
Om te controleren welke eigenschappen worden geretourneerd, voegt u de queryoptie $select toe aan de URL naar de entiteitset. Als de queryoptie $expand wordt gebruikt, wordt deze genegeerd.
In dit voorbeeld wordt een accountentiteit bijgewerkt en worden de gewenste gegevens in de respons geretourneerd.
Aanvraag
PATCH cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000001)?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8 Prefer: return=representation {"name":"Updated Sample Account"}
Respons
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal Preference-Applied: return=representation OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#accounts/$entity", "@odata.etag": "W/\"536537\"", "accountid": "00000000-0000-0000-0000-000000000001", "accountcategorycode": 1, "description": "This is the description of the sample account", "address1_latitude": 47.63958, "creditonhold": false, "name": "Updated Sample Account", "createdon": "2016-09-28T23:14:00Z", "revenue": 5000000.0000, "_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6" }
Eén eigenschapswaarde bijwerken
Als u slechts één eigenschapswaarde wilt bijwerken, gebruikt u een PUT-aanvraag met de naam van de eigenschap die is toegevoegd aan de Uri van de entiteit.
In het volgende voorbeeld wordt de eigenschap name van een bestaande accountentiteit bijgewerkt met de accountid-waarde van 00000000-0000-0000-0000-000000000001.
Aanvraag
PUT cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000001)/name HTTP/1.1 Content-Type: application/json OData-MaxVersion: 4.0 OData-Version: 4.0 {"value": "Updated Sample Account Name"}
Respons
HTTP/1.1 204 No Content OData-Version: 4.0
Eén eigenschapswaarde verwijderen
Als u de waarde van één eigenschap wilt verwijderen, gebruikt u een DELETE-aanvraag met de naam van de eigenschap die is toegevoegd aan de Uri van de entiteit.
In het volgende voorbeeld wordt de waarde van de eigenschap description van een accountentiteit met de accountid-waarde van 00000000-0000-0000-0000-000000000001 verwijderd.
Aanvraag
DELETE cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000001)/description HTTP/1.1 Content-Type: application/json OData-MaxVersion: 4.0 OData-Version: 4.0
Respons
HTTP/1.1 204 No Content OData-Version: 4.0
Notitie
Dit kan niet worden gebruikt met een navigatie-eigenschap met één waarde om twee entiteiten te ontkoppelen. Raadpleeg voor een andere aanpak Een verwijzing naar een entiteit verwijderen.
Upsert toepassen op een entiteit
Een upsert-bewerking is precies hetzelfde als een bijwerkbewerking. Er wordt een PATCH-aanvraag gebruikt en een URI om te verwijzen naar een specifieke entiteit. Het verschil is dat als de entiteit niet bestaat, deze wordt gemaakt. Als de entiteit al bestaat, wordt deze bijgewerkt. Normaal gesproken wanneer u een nieuwe entiteit maakt, laat u het systeem een unieke ID toewijzen. Dit is de beste manier. Maar als u een record met een specifieke id-waarde moet maken, bevat een upsert-bewerking een manier om dit te doen. Dit kan handig zijn in de situatie waarin u gegevens in verschillende systemen synchroniseert.
In sommige situaties wilt u echter een upsert uitvoeren, maar wel een van de mogelijke standaardacties voorkomen: maken of bijwerken. U kunt dit bereiken door de headers If-Match of If-None-Match toe te voegen. Zie Upsert-bewerkingen beperken voor meer informatie.
Basisverwijderbewerking
Een verwijderbewerking is heel eenvoudig. Gebruik het werkwoord DELETE met de URI van de entiteit die u wilt verwijderen. Met dit voorbeeldbericht wordt een accountentiteit verwijderd met de waarde van de primaire sleutel accountid die gelijk is aan 00000000-0000-0000-0000-000000000001.
Aanvraag
DELETE cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1 Content-Type: application/json OData-MaxVersion: 4.0 OData-Version: 4.0
Respons
Als de entiteit bestaat, krijgt u een normale respons met status 204 om aan te geven dat de verwijderbewerking is gelukt. Als de entiteit niet wordt gevonden, krijgt u een respons met de status 404.HTTP/1.1 204 No Content OData-Version: 4.0
Zie ook
Voorbeeld van eenvoudige Web API-bewerkingen (C#)
Voorbeeld basisbewerkingen web-API (JavaScript op client)
Bewerkingen uitvoeren met de web-API
HTTP-aanvragen opstellen en fouten afhandelen
Querygegevens met behulp van de web-API
Een entiteit maken met de web-API
Een entiteit ophalen met de web-API
Entiteiten koppelen en ontkoppelen met de web-API
Web-API-functies gebruiken
Web-API-acties gebruiken
Batchbewerkingen uitvoeren met de Web API
Zich als een andere gebruiker voordoen die de Web API gebruikt
Voorwaardelijke bewerkingen uitvoer met de web-API
Microsoft Dynamics 365
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht