Metóda POST
POST je metóda http, ktorá do Salesforce pridáva jeden/viacero záznamov naraz. Záznamy s URI môžeme vložiť cez vlastné Apex REST API alebo priamo z URI.
Vlastný oddychový zdroj v Apex
Ak chcete napísať REST v Apex, musíme použiť niektoré anotácie, ktoré pristupujú k REST API vo vašej triede Apex.
@HttpPost Anotácia
Táto metóda sa volá, keď sa odošle HTTP POST, čo umožňuje, aby bola metóda Apex vystavená ako prostriedok REST. Potom vytvorí nový zdroj.
Syntax: @httpPost
Príklad:
Napíšte triedu Apex „RestApi_Post_Record.apxc“, ktorá zahŕňa metódu REST „POST“ na vloženie polí stavu, priority a predmetu do objektu Salesforce „Case“.
- Vytvorte Post_Method s tromi parametrami: stav, priorita a predmet typu reťazca.
- Vytvorte objekt „Case“ zadaním týchto parametrov.
- Použite insert DML na vloženie záznamu do objektu Salesforce „Case“.
globálna trieda RestApi_Post_Record{
// REST - Post Method
@httpPost
global static Case Post_Method(Priorita reťazca, Stav reťazca, Predmet reťazca){
Case case_obj= new Case(Priorita=priorita,Stav = stav,Predmet=predmet);
// Vložte DML
vložiť case_obj;
return case_obj;
}
}
URI a výsledok:
Prejdite na Workbench a prejdite do Prieskumníka REST. Zadajte nasledujúci URI a spustite ho:
/services/apexrest/v56.0/RestApi_Post_Record/
Zadajte údaje v tele žiadosti:
{'Priorita':'Vysoká',
'Stav':'Nové',
'Predmet':'Problém s mobilom'
}
Otvorte záznam v Salesforce (prejdite na objekt „Case“ zo spúšťača aplikácií).
Vložte jeden záznam priamo z URI
Prejdite do REST Explorer na karte „Utilities“ a zadajte nasledujúci URI a zadajte tento záznam v časti Telo požiadavky:
/services/data/v56.0/objects/Case/Telo žiadosti:
{'Priorita':'Stredná',
'Stav':'Nové',
'Predmet':'Tímy Microsoftu - neprichádza'
}
Prejdite na kartu „Prípady“ v službe Salesforce a zobrazte záznam.
Vložiť viacero záznamov priamo z URI
Ak chcete vložiť viacero záznamov naraz, musíme zadať URI takto: /services/data/v56.0/composite/tree/sObject
Dožadujúci orgán uchováva záznamy v tomto formáte:
'záznamy' :[{'attributes' : {'type' : 'Object', 'referenceId' : 'reference1'},
pole:hodnota,
...
...
},{
'attributes' : {'type' : 'Object', 'referenceId' : 'reference1'},
pole:hodnota,
...
...
}]
}
Vložme dva záznamy do objektu Salesforce „Case“.
Identifikátor URI: /services/data/v56.0/composite/tree/Case/Telo žiadosti:
{'záznamy' :[{
'attributes' : {'type' : 'Case', 'referenceId' : 'reference1'},
'Priorita':'Vysoká',
'Stav':'Nové',
'Predmet':'Problém s dizajnom mechanického rotora',
'Typ':'Elektrický'
},{
'attributes' : {'type' : 'Case', 'referenceId' : 'reference2'},
'Priorita':'Nízka',
'Stav':'Nové',
'Predmet':'Spustenie generátora po elektrickom výpadku' ,
'Typ':'Elektrický'
}]
}
Do Salesforce sa vložia dva záznamy s CaseNumber 00001038 a 00001039.
Metóda PUT
Ako sme už diskutovali, PUT je metóda http, ktorá sa používa na vytváranie/aktualizáciu záznamov. V tejto príručke používame túto metódu na vytvorenie nového záznamu Salesforce pomocou vlastného rozhrania REST API.
@httpPut : Táto metóda sa volá, keď sa odošle HTTP PUT, čo umožňuje, aby bola metóda Apex vystavená ako prostriedok REST. Potom vytvorí nový zdroj alebo aktualizuje existujúci zdroj.
Syntax: @httpPutPríklad:
Napíšte triedu Apex „RestApi_Put_Record.apxc“, ktorá zahŕňa metódu REST „PUT“ na vloženie polí stavu, priority a popisu do objektu Salesforce „Case“.
@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')globálna trieda RestApi_Put_Record{
// REST - Put Method
@httpPut
global static Case Put_Method(Priorita reťazca, Stav reťazca, Predmet reťazca){
Case case_obj= new Case(Priorita=priorita,Stav = stav,Predmet=predmet);
// Vložte DML
vložiť case_obj;
return case_obj;
}
}
URI a výsledok:
Prejdite na Workbench a prejdite na REST Explorer. Zadajte nasledujúci URI a spustite ho:
/services/apexrest/v56.0/RestApi_Put_Record/Zadajte údaje v tele žiadosti:
{'Priorita':'Vysoká',
'Stav':'Zatvorené',
'Predmet':'Potrebný sprievodca mlynčekom na zeleninu'
}
Otvorte záznam v Salesforce (prejdite na objekt „Case“ zo spúšťača aplikácií).
Záver
Teraz môžete vkladať záznamy do Salesforce pomocou metód http PUT a POST. Naučili sme sa vkladať záznamy priamo do Workbench a používať vlastné REST API cez triedu Apex. Objekt Salesforce „Case“ sa v tejto príručke používa ako príklad. Skutočný rozdiel medzi PUT a POST je v tom, že POST sa používa na vkladanie údajov, zatiaľ čo PUT sa používa na vkladanie/aktualizáciu údajov. Anotácia @httpPut sa používa pre metódu PUT a anotácia @httpPost sa používa pre metódu POST.