POST-methode
POST is een http-methode die enkele/meerdere records tegelijk toevoegt aan Salesforce. We kunnen de records met URI invoegen via de aangepaste Apex REST API of rechtstreeks vanuit URI.
Aangepaste rustbron in Apex
Om REST in Apex te schrijven, moeten we enkele annotaties gebruiken die toegang hebben tot de REST API in uw Apex-klasse.
@HttpPost-annotatie
Deze methode wordt aangeroepen wanneer HTTP POST wordt verzonden, waardoor de Apex-methode kan worden weergegeven als een REST-resource. Vervolgens wordt er een nieuwe resource gemaakt.
Syntaxis: @httpPost
Voorbeeld:
Schrijf de Apex-klasse 'RestApi_Post_Record.apxc' waarbij de REST 'POST'-methode wordt gebruikt om de status-, prioriteits- en onderwerpvelden in te voegen in het Salesforce-object 'Case'.
- Maak de Post_Method met drie parameters: status, prioriteit en onderwerp van stringtype.
- Maak een 'Case'-object door deze parameters door te geven.
- Gebruik de invoeg-DML om de record in het Salesforce-object 'Case' in te voegen.
globale klasse RestApi_Post_Record{
// REST - Post-methode
@httpPost
global static Case Post_Method(String Priority, String Status, String Subject){
Case case_obj= nieuwe Case(Priority=priority,Status = status,Subject=subject);
// DML invoegen
voeg case_obj in;
retourneer case_obj;
}
}
URI en resultaat:
Ga naar Workbench en navigeer naar de REST Explorer. Geef de volgende URI op en voer deze uit:
/services/apexrest/v56.0/RestApi_Post_Record/
Specificeer de gegevens in de Request Body:
{'Prioriteit':'Hoog',
'Status':'Nieuw',
'Onderwerp':'Mobiel probleem'
}
Open het record in Salesforce (navigeer naar het object 'Case' vanuit de App Launcher).
Voeg een enkele record rechtstreeks in vanuit de URI
Navigeer naar de REST Explorer onder het tabblad 'Hulpprogramma's' en geef de volgende URI op en specificeer dit record onder de Request Body:
/services/data/v56.0/sobjects/Case/Verzoek lichaam:
{'Prioriteit':'Gemiddeld',
'Status':'Nieuw',
'Subject':'Microsoft-teams - Komt er niet aan'
}
Ga naar het tabblad 'Cases' van Salesforce en bekijk het record.
Voeg meerdere records rechtstreeks vanuit de URI in
Als u meerdere records tegelijk wilt invoegen, moeten we de URI als volgt specificeren: /services/data/v56.0/composite/tree/sObject
De verzoekende instantie bewaart de records in het volgende formaat:
'records' :[{'attributen': {'type': 'Object', 'referenceId': 'reference1'},
veld:waarde,
...
...
},{
'attributen': {'type': 'Object', 'referenceId': 'reference1'},
veld:waarde,
...
...
}]
}
Laten we twee records invoegen in het Salesforce-object 'Case'.
URI: /services/data/v56.0/composite/tree/Case/Verzoek lichaam:
{'records' :[{
'attributen': {'type': 'Case', 'referenceId': 'reference1'},
'Prioriteit':'Hoog',
'Status':'Nieuw',
'Subject':'Ontwerpprobleem met mechanische rotor',
'Type':'Elektrisch'
},{
'attributen': {'type': 'Case', 'referenceId': 'reference2'},
'Prioriteit':'Laag',
'Status':'Nieuw',
'Subject':'Generator starten na stroomstoring' ,
'Type':'Elektrisch'
}]
}
Er worden twee records in Salesforce ingevoegd met CaseNumber 00001038 en 00001039.
PUT-methode
Zoals we eerder hebben besproken, is PUT een http-methode die wordt gebruikt om de records te maken/bij te werken. In deze handleiding gebruiken we deze methode om een nieuw Salesforce-record te maken met behulp van de aangepaste REST API.
@httpPut : Deze methode wordt aangeroepen wanneer de HTTP PUT wordt verzonden, waardoor de Apex-methode kan worden weergegeven als een REST-resource. Vervolgens wordt er een nieuwe bron gemaakt of wordt de bestaande bron bijgewerkt.
Syntaxis: @httpPutVoorbeeld:
Schrijf de Apex-klasse 'RestApi_Put_Record.apxc' waarbij de REST 'PUT'-methode wordt gebruikt om de status-, prioriteits- en beschrijvingsvelden in het Salesforce-object 'Case' in te voegen.
@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')globale klasse RestApi_Put_Record{
// REST - Put-methode
@httpPut
global static Case Put_Method(String Priority, String Status, String Subject){
Case case_obj= nieuwe Case(Priority=priority,Status = status,Subject=subject);
// DML invoegen
voeg case_obj in;
retourneer case_obj;
}
}
URI en resultaat:
Ga naar Workbench en navigeer naar de REST Explorer. Geef de volgende URI op en voer deze uit:
/services/apexrest/v56.0/RestApi_Put_Record/Specificeer de gegevens in de Request Body:
{'Prioriteit':'Hoog',
'Status':'Gesloten',
'Subject':'Groentenmolengids nodig'
}
Open het record in Salesforce (navigeer naar het object 'Case' vanuit de App Launcher).
Conclusie
Nu kunt u de records in Salesforce invoegen met behulp van de http PUT- en POST-methoden. We hebben geleerd hoe we de records rechtstreeks in de Workbench kunnen invoegen en de aangepaste REST API kunnen gebruiken via de Apex-klasse. Het Salesforce-object 'Case' wordt in deze handleiding als voorbeeld gebruikt. Het werkelijke verschil tussen PUT en POST is dat POST wordt gebruikt om de gegevens in te voegen, terwijl PUT wordt gebruikt om de gegevens in te voegen/bij te werken. De @httpPut-annotatie wordt gebruikt voor de PUT-methode en de @httpPost-annotatie wordt gebruikt voor de POST-methode.