Metoda POST
POST to metoda http, która dodaje jeden/wiele rekordów jednocześnie do Salesforce. Rekordy z URI możemy wstawić poprzez niestandardowe API Apex REST lub bezpośrednio z URI.
Niestandardowy zasób odpoczynku w Apex
Aby napisać REST w Apex, musimy wykorzystać pewne adnotacje, które uzyskują dostęp do API REST w twojej klasie Apex.
Adnotacja @HttpPost
Ta metoda jest wywoływana, gdy wysyłany jest HTTP POST, który umożliwia udostępnienie metody Apex jako zasobu REST. Następnie tworzy nowy zasób.
Składnia: @httpPost
Przykład:
Napisz klasę Apex „RestApi_Post_Record.apxc”, która obejmuje metodę REST „POST” w celu wstawienia pól statusu, priorytetu i tematu do obiektu Salesforce „Case”.
- Utwórz Post_Method z trzema parametrami: status, priorytet i temat typu string.
- Utwórz obiekt „Case”, przekazując te parametry.
- Użyj kodu DML wstawiania, aby wstawić rekord do obiektu Salesforce „Case”.
klasa globalna RestApi_Post_Record{
// REST — metoda wysyłania
@httpPost
global static Post_Method sprawy (Priorytet ciągu, Status ciągu, Temat ciągu){
Sprawa case_obj= nowa Sprawa(Priorytet=priorytet,Status=status,Temat=temat);
// Wstaw plik DML
wstaw case_obj;
zwróć case_obj;
}
}
Identyfikator URI i wynik:
Przejdź do Workbench i przejdź do Eksploratora REST. Podaj następujący identyfikator URI i wykonaj go:
/services/apexrest/v56.0/RestApi_Post_Record/
Określ dane w treści żądania:
{'Priorytet': 'Wysoki',
'Stan': 'Nowy',
„Temat”: „Problem z telefonem komórkowym”
}
Otwórz rekord w Salesforce (przejdź do obiektu „Case” z poziomu App Launcher).
Wstaw pojedynczy rekord bezpośrednio z URI
Przejdź do Eksploratora REST na karcie „Narzędzia” i podaj następujący identyfikator URI oraz podaj ten rekord w treści żądania:
/services/data/v56.0/obiekty/Sprawa/Treść żądania:
{'Priorytet': 'Średni',
'Stan': 'Nowy',
„Temat”: „Zespoły firmy Microsoft — nie nadchodzą”
}
Przejdź do zakładki Salesforce „Sprawy” i przejrzyj rekord.
Wstaw wiele rekordów bezpośrednio z URI
Jeśli chcesz wstawić wiele rekordów jednocześnie, musimy określić identyfikator URI w następujący sposób: /services/data/v56.0/composite/tree/sObject
Organ wnioskujący przechowuje akta w następującym formacie:
'rekordy' :[{'atrybuty' : {'typ' : 'Obiekt', 'referenceId' : 'reference1'},
wartość pola,
...
...
},{
'atrybuty' : {'typ' : 'Obiekt', 'referenceId' : 'reference1'},
wartość pola,
...
...
}]
}
Wstawmy dwa rekordy do obiektu Salesforce „Case”.
URI: /services/data/v56.0/composite/tree/Case/Treść żądania:
{'rekordy' :[{
'atrybuty' : {'type' : 'Case', 'referenceId' : 'reference1'},
'Priorytet': 'Wysoki',
'Stan': 'Nowy',
'Temat': 'Problem projektowy z wirnikiem mechanicznym',
„Typ”: „Elektryczny”
},{
'atrybuty' : {'type' : 'Case', 'referenceId' : 'reference2'},
'Priorytet': 'Niski',
'Stan': 'Nowy',
'Subject':'Uruchamianie generatora po awarii elektrycznej' ,
„Typ”: „Elektryczny”
}]
}
Do Salesforce wstawiane są dwa rekordy o numerach sprawy 00001038 i 00001039.
Metoda PUT
Jak omówiliśmy wcześniej, PUT to metoda http, która służy do tworzenia/aktualizowania rekordów. W tym przewodniku wykorzystamy tę metodę do utworzenia nowego rekordu Salesforce przy użyciu niestandardowego interfejsu API REST.
@httpPut : Ta metoda jest wywoływana, gdy wysyłane jest polecenie HTTP PUT, które umożliwia wyeksponowanie metody Apex jako zasobu REST. Następnie tworzy nowy zasób lub aktualizuje istniejący zasób.
Składnia: @httpPutPrzykład:
Napisz klasę Apex „RestApi_Put_Record.apxc”, która obejmuje metodę REST „PUT” w celu wstawienia pól stanu, priorytetu i opisu do obiektu Salesforce „Case”.
@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')klasa globalna RestApi_Put_Record{
// REST — metoda umieszczania
@httpPut
global static Case Put_Method(String Priority, String Status, String Temat){
Sprawa case_obj= nowa Sprawa(Priorytet=priorytet,Status=status,Temat=temat);
// Wstaw plik DML
wstaw case_obj;
zwróć case_obj;
}
}
Identyfikator URI i wynik:
Przejdź do Workbench i przejdź do Eksploratora REST. Podaj następujący identyfikator URI i wykonaj go:
/services/apexrest/v56.0/RestApi_Put_Record/Określ dane w treści żądania:
{'Priorytet': 'Wysoki',
'Status': 'Zamknięte',
„Subject”: „Potrzebny przewodnik po maszynce do mielenia warzyw”
}
Otwórz rekord w Salesforce (przejdź do obiektu „Case” z poziomu App Launcher).
Wniosek
Teraz możesz wstawiać rekordy do Salesforce za pomocą metod http PUT i POST. Nauczyliśmy się wstawiać rekordy bezpośrednio do Workbencha i używać niestandardowego API REST poprzez klasę Apex. Obiekt Salesforce „Case” został wykorzystany w tym przewodniku jako przykład. Rzeczywista różnica między PUT i POST polega na tym, że POST służy do wstawiania danych, podczas gdy PUT służy do wstawiania/aktualizacji danych. Adnotacja @httpPut jest używana dla metody PUT, a adnotacja @httpPost jest używana dla metody POST.