Esittelyssä Workbench
Workbench ei ole virallinen Salesforce.com-tuote. Käytämme kuitenkin Salesforcea tietojen käsittelyyn, kuten valitsemiseen, lisäämiseen, lisäämiseen, päivittämiseen ja poistamiseen kirjautumalla sisään Salesforce-tilillesi (tukee sekä Sandboxia että tuotantoa). Tämä on virallinen verkkosivusto Workbenchiin kirjautumiseen Salesforcella: https://workbench.developerforce.com/login.php .
Säilytä tästä lähtien vain API-versio nykyisenä ja napsauta 'Kirjaudu sisään Salesforcella' -painiketta.
Tarvitsemme REST Explorerin. Siirry 'apuohjelmat' -välilehteen ja napsauta 'REST Explorer'.
Näet käyttöliittymän, kuten seuraavassa kuvassa. Meidän on valittava GET noutamaan tietueet Salesforcesta tässä koko oppaassa. Meidän on määritettävä URI, joka hakee Salesforce-tietueet, ja napsauta 'Suorita' -painiketta.
Hae tietty tietue Salesforce-tunnuksella
Salesforce-tietuetunnuksen perusteella voimme noutaa Salesforcen koko tietueen. Meidän on asetettava URI seuraavasti:
/ palvelut / tiedot / v56.0 / vastustaa / objektiAPINname / idTässä 'objectAPIName' on Salesforce Standard/Custom -objekti ja 'id' viittaa Salesforce ID:hen.
Palata:
Saat HTTP/1.1 200 OK -raakavastauksen JSON-muodossa seuraavasti:
{'attribuutit' : {
'tyyppi' :
'url' :
} ,
'ala' : Arvo,
...
}
Esimerkki:
Tässä esimerkissä noudetaan tapaustietue 5005i00000W4GM5AAN.
TYYPPI: / palvelut / tiedot / v56.0 / vastustaa / Asia / 5005i00000W4GM5AANTulos:
Näemme, että vastaus on luotu JSON-muodossa.
Tuloksia voi katsoa myös suoraan täältä:
Hae useita tietueita kyselyllä
On aika noutaa useita tietueita Salesforce-objektista. Aiemmin määritimme objektit URI:ssa. Tässä meidän on määritettävä kysely, joka ottaa kyselyn parametrina.
URI: palvelut / tiedot / v57.0 / kysely / ? q =VALITSE+kenttä1,kenttä2,....+kohteenAPInimiMeidän on käytettävä '+' -merkkiä erottimena yhdistääksemme avainsanat kyselyyn. Se palauttaa totalSize-arvon ja tallentaa kansioon. Kunkin tietueen kansion nimi on [Kohde 1],…[Kohde n].
Esimerkki 1:
Palautetaan tietueet, jotka sisältävät CaseNumberin, tilan, prioriteetin ja kuvauksen Case-objektista.
Tulos:
Kun napsautat 'Laajenna kaikki', näet kaikki tietueet määritteineen ja arvoineen.
Näytän ensimmäisen ja viimeisen levyn:
Esimerkki 2:
Palautetaan vain kolme tietuetta, joissa on samat kentät kuin ensimmäisessä esimerkissä.
Tulos:
Kaksi ensimmäistä Case-objektissa olevaa tietuetta palautetaan.
Esimerkki 3:
Määritetään WHERE-ehto kyselyssä, joka valitsee tietueet, joiden tila on 'Uusi'.
Tulos:
Viisi tietuetta, joiden tila on 'Uusi'.
Mukautettu leporesurssi Apexissa
Voimme käyttää Salesforce Apexia, joka palauttaa tietueen Salesforce-objektista määrittämällä URI:n Workbenchissä. Kirjoittaaksemme RESTin Apexissa, meidän on hyödynnettävä joitain merkintöjä, jotka käyttävät Apex-luokkasi REST-sovellusliittymää. Varmista, että Apex-luokkamme on oltava globaalisti staattinen.
1. @RestResource Annotation
Tätä merkintää käytetään sallimaan, mikä paljastaa Apex-luokan REST-resurssina. Se ottaa urlMappingin parametrina, jota käytetään URI:n paikantamiseen Workbenchistä.
Syntaksi: @RestResource(urlMapping=’/Version/ApexClassName/’)
'Versio' on Workbench-versiosi, kuten V56.0, ja 'ApexClassName' on Apex-luokkasi, jossa Rest API -resurssit ovat mukana.
2. @HttpGet Annotation
Tätä merkintää käytetään sallimaan, mikä paljastaa Apex-luokan REST-resurssina. Sitä kutsutaan, kun HTTP GET -pyyntö lähetetään palvelimelle ja palauttaa määritetyn resurssin.
Syntaksi: @httpGet
Esimerkki 1: Yksittäinen parametri
Kirjoita 'RestApi_Get_Record.apxc' Apex-luokka, joka sisältää 'Rest Get' -metodin palauttaakseen id:n, CaseNumberin, tilan, prioriteetin ja alkuperän tapauksesta Case-objektista.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globaali luokka RestApi_Get_Record {
// REST - Hanki menetelmä
@ httpGet
globaali staattinen tapaus getCaseDetails ( ) {
// Luo objekti varten Asian objekti
Case case_obj = uusi tapaus ( ) ;
Kartta < String, String > paramsMap = RestContext.request.params;
// Hanki tapaus id
Merkkijono caseid = paramsMap.get ( 'input_id' ) ;
// SOQL-kysely, joka tulee palata id ,CaseNumber,Tila,Priority,Alkuperä tapauksesta
// Case-objekti
case_obj = [ valitse id ,CaseNumber,Tila,Priority,Alkuperä tapauksesta, jossa Id =:caseid ] ;
palata case_obj;
}
}
URI ja tulos:
Siirry Workbenchiin ja siirry REST Exploreriin. Välitä tunnus muodossa 5002t00000Pdzr2AAB input_id-parametrille.
/ palvelut / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Selitys:
- Luo objekti tapaukselle 'case_obj'.
- Hanki parametrit käyttämällä RestContext.request.params.
- Hanki tapauksen tunnus parametrista input_id ja tallenna tämä caseid-muuttujaan.
- Kirjoita SOQL-kysely, joka palauttaa id, CaseNumber, status, priority, origin from case 'caseid'-tapauksen Case-objektista.
- Palauta tapausobjekti (case_obj).
Esimerkki 2: Useita parametreja
Käytä aiempaa Apex-luokkaa ja hanki 'Status'-parametri yhdessä tunnuksen kanssa. Määritä nämä kaksi parametria Workbench URI:ssa, joka on erotettu &-merkillä.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globaali luokka RestApi_Get_Record {
// REST - Hanki menetelmä
@ httpGet
globaali staattinen tapaus getCaseDetails ( ) {
// Luo objekti varten Asian objekti
Case case_obj = uusi tapaus ( ) ;
Kartta < String, String > id_param = RestContext.request.params;
Kartta < String, String > status_param = RestContext.request.params;
// Hanki id_param case_id:hen
Merkkijono case_id = id_param.get ( 'input_id' ) ;
// Siirrä status_param arvoon case_status
Merkkijono case_status =status_param.get ( 'Tila' ) ;
case_obj = [ valitse id ,CaseNumber,Tila,Priority,Alkuperä tapauksesta, jossa Id =:case_id ja Status =: case_status ] ;
palata case_obj;
}
}
URI ja tulos:
Siirry Workbenchiin ja siirry REST Exploreriin. Anna input_id muodossa 5002t00000PdzqwAAB ja tilaksi 'Suljettu' URI:ssa.
/ palvelut / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & Tila =Suljettu
Johtopäätös
Keskustelimme kolmesta skenaariosta Salesforce-tietueiden hakemisesta Salesforce REST API:n kautta Workbenchin avulla. Tietyn tietueen palauttamiseksi meidän on määritettävä sObject välittämällä id parametrina URI:ssa. Vastaavasti välitämme kyselyparametrit tiettyjen tietueiden saamiseksi. Apexin avulla voimme luoda oman 'Get'-menetelmämme valitaksesi tietueen yhden tai useamman parametrin perusteella.