Metoda POST
POST je metoda http, která do Salesforce přidává jeden/více záznamů najednou. Záznamy s URI můžeme vkládat přes vlastní Apex REST API nebo přímo z URI.
Vlastní zdroj odpočinku v Apexu
Abychom mohli napsat REST v Apex, musíme použít některé anotace, které přistupují k REST API ve vaší třídě Apex.
@HttpPost Anotace
Tato metoda je volána, když je odeslán HTTP POST, který umožňuje, aby byla metoda Apex vystavena jako prostředek REST. Poté vytvoří nový zdroj.
Syntaxe: @httpPost
Příklad:
Napište třídu Apex „RestApi_Post_Record.apxc“, která zahrnuje metodu REST „POST“ pro vložení polí stavu, priority a předmětu do objektu Salesforce „Case“.
- Vytvořte Post_Method se třemi parametry: stav, priorita a předmět typu řetězce.
- Předáním těchto parametrů vytvořte objekt „Case“.
- Pomocí insert DML vložte záznam do objektu Salesforce „Case“.
globální třída RestApi_Post_Record{
// REST - Post Method
@httpPříspěvek
global static Case Post_Method(Priorita řetězce, Stav řetězce, Předmět řetězce){
Case case_obj= new Case(Priorita=priorita,Stav = stav,Předmět=předmět);
// Vložení DML
vložit case_obj;
return case_obj;
}
}
URI a výsledek:
Přejděte na Workbench a přejděte do Průzkumníka REST. Zadejte následující URI a spusťte jej:
/services/apexrest/v56.0/RestApi_Post_Record/
Zadejte data v těle požadavku:
{'Priorita':'Vysoká',
'Stav':'Nové',
'Předmět':'Problém s mobilem'
}
Otevřete záznam v Salesforce (přejděte na objekt „Case“ ze spouštěče aplikací).
Vložte jeden záznam přímo z URI
Přejděte do Průzkumníka REST na kartě „Utilities“ a zadejte následující URI a zadejte tento záznam v těle požadavku:
/services/data/v56.0/objects/Case/Tělo požadavku:
{'Priorita':'Střední',
'Stav':'Nové',
'Předmět':'Týmy společnosti Microsoft - nepřichází'
}
Přejděte na kartu Salesforce „Případy“ a zobrazte záznam.
Vložit více záznamů přímo z URI
Pokud chcete vložit více záznamů najednou, musíme zadat URI takto: /services/data/v56.0/composite/tree/sObject
Subjekt žádosti uchovává záznamy v následujícím formátu:
'záznamy' :[{'attributes' : {'type' : 'Object', 'referenceId' : 'reference1'},
pole:hodnota,
...
...
},{
'attributes' : {'type' : 'Object', 'referenceId' : 'reference1'},
pole:hodnota,
...
...
}]
}
Do objektu Salesforce „Case“ vložíme dva záznamy.
URI: /services/data/v56.0/composite/tree/Case/Tělo požadavku:
{'záznamy' :[{
'attributes' : {'type' : 'Case', 'referenceId' : 'reference1'},
'Priorita':'Vysoká',
'Stav':'Nové',
'Předmět':'Problém s návrhem mechanického rotoru',
'Typ':'Elektrický'
},{
'attributes' : {'type' : 'Case', 'referenceId' : 'reference2'},
'Priorita':'Nízká',
'Stav':'Nové',
'Předmět':'Spuštění generátoru po elektrickém selhání' ,
'Typ':'Elektrický'
}]
}
Do Salesforce jsou vloženy dva záznamy s CaseNumber 00001038 a 00001039.
Metoda PUT
Jak jsme již dříve probrali, PUT je metoda http, která se používá k vytváření/aktualizaci záznamů. V této příručce používáme tuto metodu k vytvoření nového záznamu Salesforce pomocí vlastního rozhraní REST API.
@httpPut : Tato metoda je volána, když je odeslán HTTP PUT, který umožňuje, aby byla metoda Apex vystavena jako prostředek REST. Poté vytvoří nový prostředek nebo aktualizuje existující prostředek.
Syntaxe: @httpPutPříklad:
Napište třídu Apex „RestApi_Put_Record.apxc“, která zahrnuje metodu REST „PUT“ pro vložení polí stavu, priority a popisu do objektu Salesforce „Case“.
@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')globální třída RestApi_Put_Record{
// REST - Put Method
@httpPut
global static Case Put_Method(Priorita řetězce, Stav řetězce, Předmět řetězce){
Case case_obj= new Case(Priorita=priorita,Stav = stav,Předmět=předmět);
// Vložení DML
vložit case_obj;
return case_obj;
}
}
URI a výsledek:
Přejděte na Workbench a přejděte do Průzkumníka REST. Zadejte následující URI a spusťte jej:
/services/apexrest/v56.0/RestApi_Put_Record/Zadejte data v těle požadavku:
{'Priorita':'Vysoká',
'Stav':'Zavřeno',
'Předmět':'Potřebujeme průvodce mlýnkem na zeleninu'
}
Otevřete záznam v Salesforce (přejděte na objekt „Case“ ze spouštěče aplikací).
Závěr
Nyní můžete vkládat záznamy do Salesforce pomocí metod http PUT a POST. Naučili jsme se vkládat záznamy přímo do Workbenche a používat vlastní REST API prostřednictvím třídy Apex. Objekt Salesforce „Case“ je v této příručce použit jako příklad. Skutečný rozdíl mezi PUT a POST spočívá v tom, že POST se používá k vkládání dat, zatímco PUT se používá k vkládání/aktualizaci dat. Anotace @httpPut se používá pro metodu PUT a anotace @httpPost se používá pro metodu POST.