Salesforce Rest API

Salesforce Rest Api



이 가이드에서는 Workbench의 POST 및 PUT http 메서드를 통해 REST API를 사용하여 레코드를 Salesforce에 삽입하는 방법에 대해 설명합니다. 이 가이드의 일부로 Workbench를 사용하고 sObject를 사용하여 특정 레코드를 가져오고, 쿼리를 사용하여 개체에서 여러 레코드를 가져오고, Apex 사용자 정의 REST API를 작성하여 레코드를 가져오는 방법에 대해 설명합니다.

POST 방식

POST는 Salesforce에 한 번에 단일/다중 레코드를 추가하는 http 메서드입니다. 사용자 정의 Apex REST API를 통해 또는 URI에서 직접 URI로 레코드를 삽입할 수 있습니다.

Apex의 사용자 정의 나머지 리소스

Apex에서 REST를 작성하려면 Apex 클래스에서 REST API에 액세스하는 일부 주석을 활용해야 합니다.







@HttpPost 주석

이 메서드는 Apex 메서드가 REST 리소스로 노출되도록 하는 HTTP POST가 전송될 때 호출됩니다. 그런 다음 새 리소스를 만듭니다.



구문: @http포스트

예:



REST 'POST' 메서드를 포함하는 'RestApi_Post_Record.apxc' Apex 클래스를 작성하여 Salesforce '사례' 개체에 상태, 우선 순위 및 제목 필드를 삽입합니다.





  1. 상태, 우선 순위 및 문자열 유형의 제목이라는 세 가지 매개 변수를 사용하여 Post_Method를 만듭니다.
  2. 이러한 매개변수를 전달하여 'Case' 개체를 만듭니다.
  3. 삽입 DML을 사용하여 레코드를 Salesforce '사례' 개체에 삽입합니다.
@RestResource(urlMapping='/v56.0/RestApi_Post_Record/')
글로벌 클래스 RestApi_Post_Record{

// REST - 게시 방법
@http포스트
전역 정적 사례 Post_Method(문자열 우선순위, 문자열 상태, 문자열 제목){
Case case_obj= new Case(우선순위=우선순위,상태=상태,제목=제목);

// DML 삽입
case_obj 삽입;
case_obj 반환;
}
}

URI 및 결과:

Workbench로 이동하여 REST Explorer로 이동합니다. 다음 URI를 지정하고 실행합니다.



/services/apexrest/v56.0/RestApi_Post_Record/

요청 본문에 데이터를 지정합니다.

{
'우선순위':'높음',
'상태':'신규',
'제목':'모바일 문제'
}

Salesforce에서 레코드를 엽니다(앱 시작 관리자에서 '사례' 개체로 이동).

URI에서 직접 단일 레코드 삽입

'유틸리티' 탭 아래의 REST 탐색기로 이동하여 다음 URI를 지정하고 요청 본문 아래에 이 레코드를 지정합니다.

/services/data/v56.0/sobjects/Case/

요청 본문:

{
'우선순위': '중간',
'상태':'신규',
'제목':'Microsoft 팀 - 예정 없음'
}

Salesforce '사례' 탭으로 이동하여 레코드를 봅니다.

URI에서 직접 여러 레코드 삽입

한 번에 여러 레코드를 삽입하려면 다음과 같이 URI를 지정해야 합니다. /services/data/v56.0/composite/tree/sObject

요청 본문은 다음 형식으로 레코드를 보유합니다.

'레코드' :[{
'속성': {'유형': '객체', '참조 ID': '참조1'},
필드:값,
...
...
},{
'속성': {'유형': '객체', '참조 ID': '참조1'},
필드:값,
...
...
}]
}

Salesforce 'Case' 개체에 두 개의 레코드를 삽입해 보겠습니다.

URI: /services/data/v56.0/composite/tree/Case/

요청 본문:

{
'레코드' :[{
'속성': {'유형': '사례', 'referenceId': '참조1'},
'우선순위':'높음',
'상태':'신규',
'제목':'기계식 로터의 설계 문제',
'유형':'전기'
},{
'속성': {'유형': '사례', 'referenceId': '참조2'},
'우선순위': '낮음',
'상태':'신규',
'Subject':'전기 고장 후 발전기 시작' ,
'유형':'전기'
}]
}

사례 번호가 00001038 및 00001039인 두 개의 레코드가 Salesforce에 삽입됩니다.

PUT 방법

앞에서 설명한 것처럼 PUT은 레코드를 생성/업데이트하는 데 사용되는 http 메서드입니다. 이 가이드에서는 이 방법을 활용하여 사용자 정의 REST API를 사용하여 새 Salesforce 레코드를 만듭니다.

@http풋 : 이 메서드는 Apex 메서드가 REST 리소스로 노출되도록 하는 HTTP PUT이 전송될 때 호출됩니다. 그런 다음 새 리소스를 생성하거나 기존 리소스를 업데이트합니다.

구문: @httpPut

예:

REST 'PUT' 메서드를 포함하는 'RestApi_Put_Record.apxc' Apex 클래스를 작성하여 상태, 우선 순위 및 설명 필드를 Salesforce '사례' 개체에 삽입합니다.

@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')
글로벌 클래스 RestApi_Put_Record{

// REST - 메서드 넣기
@http풋
전역 정적 사례 Put_Method(문자열 우선순위, 문자열 상태, 문자열 제목){
Case case_obj= new Case(우선순위=우선순위,상태=상태,제목=제목);

// DML 삽입
case_obj 삽입;
case_obj 반환;
}
}

URI 및 결과:

Workbench로 이동하여 REST Explorer로 이동합니다. 다음 URI를 지정하고 실행합니다.

/services/apexrest/v56.0/RestApi_Put_Record/

요청 본문에 데이터를 지정합니다.

{
'우선순위':'높음',
'상태': '종료됨',
'Subject':'야채 분쇄기 가이드 필요'
}

Salesforce에서 레코드를 엽니다(앱 시작 관리자에서 '사례' 개체로 이동).

결론

이제 http PUT 및 POST 메서드를 사용하여 레코드를 Salesforce에 삽입할 수 있습니다. Workbench에 직접 레코드를 삽입하고 Apex 클래스를 통해 사용자 정의 REST API를 사용하는 방법을 배웠습니다. Salesforce 'Case' 개체는 이 가이드에서 예로 사용됩니다. PUT과 POST의 실제 차이점은 POST는 데이터를 삽입하는 데 사용되는 반면 PUT은 데이터를 삽입/업데이트하는 데 사용된다는 것입니다. @httpPut 어노테이션은 PUT 메소드에 사용되며 @httpPost 어노테이션은 POST 메소드에 사용됩니다.