AI로 번역했습니다. 아직 커뮤니티의 검토를 거치지 않았습니다. 영어로 읽기

블로그 · 2023년 9월 18일 · Steve Simpson · 통합

Apex 웹 서비스: 웹 마법사를 위한 빌딩 블록

소개:

이 글에서는 Salesforce에서 사용자 정의 Apex 웹 서비스를 만드는 방법을 살펴봅니다. 이런 서비스는 외부 프로세스가 데이터를 읽거나 쓰기 위해 Salesforce와 상호작용해야 하는데 표준 REST API로는 부족할 때 꼭 필요합니다. 표준 쿼리부터 업데이트까지, 점점 복잡해지는 다섯 가지 예를 차례로 봅니다.

다이어그램: Postman에서 호출하는 다섯 가지 사용자 정의 Apex 웹 서비스 예. 레코드 목록을 반환하는 GET, 응답 객체를 쓰는 GET, 매개변수가 있는 GET, POST, 오류를 반환하는 POST

사용자 정의 웹 서비스 개요

사용자 정의 웹 서비스의 다섯 가지 예를 살펴봅니다.

표준 SObject 목록을 쓰는 GET: 표준 SObject 목록으로 데이터를 가져옵니다.

JSON 응답 래퍼: GET 요청을 JSON 응답으로 감싸 강화합니다.

매개변수 추가: GET 요청에 매개변수를 넣어 더 구체적인 데이터를 가져옵니다.

삽입에 POST 사용: 데이터 삽입을 위한 POST 요청을 구현합니다.

오류 메시지 반환: 오류 메시지를 적절히 처리하고 반환합니다.

사용자 정의 웹 서비스 구현하기

예 1: 표준 SObject 목록을 쓰는 GET

이 예에서는 사용자 정의 URI를 가진 REST 리소스를 정의하고 HTTP 동사(GET)를 지정합니다. 클래스는 global로 선언해야 하며, 간단한 쿼리로 표준 계정 목록을 반환합니다.

Apex 코드: 계정을 쿼리하고 기본 직렬화로 목록을 반환하는 GET 메서드를 가진 REST 리소스

예 2: JSON 응답 래퍼

클라이언트에게 돌려보내는 데이터를 제어하기 위해 응답 객체를 씁니다. SObject 목록 대신, ID와 이름만 가진 가벼운 고객 표현인 사용자 정의 응답 객체 목록을 반환합니다.

Apex 코드: 고객 목록을 담은 응답 객체를 만드는 GET 메서드

예 3: 매개변수 추가

특정 고객의 데이터가 필요할 때는 매개변수가 꼭 필요합니다. RestContext.params를 읽으면 고객 ID를 가져와 SOQL WHERE 절에 써서 데이터를 걸러 낼 수 있습니다.

Apex 코드: 요청에서 customerid 매개변수를 읽고 그 고객을 응답 객체로 반환하는 GET 메서드

예 4: 삽입에 POST 사용

데이터를 써야 할 때는 POST 메서드를 씁니다. 이 예에서는 응답 객체와 요청 객체를 만듭니다. 요청 객체는 이름을 가진 고객을 받고, JSON 직렬 변환기로 요청을 특정 클래스로 직렬화합니다. 새 계정을 만들어 삽입한 뒤 성공 상태를 반환합니다.

Apex 코드: 요청 본문을 구문 분석하고 계정을 삽입한 뒤 성공 또는 오류 상태를 반환하는 POST 메서드

예 5: 오류 메시지 반환

이 예는 예 4와 비슷하지만 오류 처리를 포함합니다. 예외가 발생하면 오류를 잡아 목록에 추가하고, 상태 코드를 500(또는 원하는 번호)으로 설정합니다.

Apex 코드: 오류 처리를 포함한 POST 메서드, 오류 메시지와 HTTP 500 상태 코드를 반환한다

결론

이 예들을 통해 Salesforce에서 사용자 정의 Apex 웹 서비스를 만드는 기본 빌딩 블록을 보여 드렸습니다. 간단한 GET 요청으로 시작해 매개변수, POST 요청, 오류 처리를 더하며 점차 복잡도를 높였습니다.

계속 지켜봐 주세요

읽어 주셔서 감사합니다. 곧 지식이 가득한 모험을 더 나눌 수 있기를 기대합니다! 이곳 www.SteveTechArc.com과 YouTube 채널 @SteveTechArc (opens in a new tab)을 계속 지켜봐 주십시오. 구독하고 Salesforce와 그것을 다른 시스템과 통합하는 방법에 대한 이해를 넓히십시오.

동료 아키텍트와 아키텍트의 길을 걷는 분들에게 통합 지식을 나누며 세상을 바꾸는 데 힘을 보탭니다!

AI의 도움을 받은 대본

STA 1.8