-
[ 개념 ] @AnnotationCertification/Platform Developer 2024. 3. 4. 22:31
Annotation @?
- Salesforce 개발에서 사용되는 어노테이션(annotation)
- Annotation은 주석과는 다르며, 소프트웨어에 대한 추가적인 정보를 제공하는 메타데이터
주요 Annotation
- @AuraEnabled : Apex 메서드가 Lightning 컴포넌트에서 호출될 수 있도록 허용하며, 컴포넌트와 백엔드 Apex 코드 간의 통신을 가능하게 한다.
- @future : Apex 메서드를 비동기적으로 실행하도록 지시
- @TestVisible : Test 코드 내에서 비공개 변수를 테스트할 수 있도록 허용
- @InvocableMethod : Flow나 Process에서 Apex 메서드를 호출할 수 있도록 허용
- @RemoteAction : Visualforce 페이지에서 JavaScript 함수와 Apex 메서드 간의 통신을 허용
- @IsTest : Apex 테스트 클래스를 정의하고 해당 클래스의 메서드를 테스트 메서드로 지정
- @RestResource : Apex 클래스를 RESTFull 웹 서비스로 노출하는 주석
- @HttpDelete, @HttpGet, @HttpPatch, @HttpPost, @HttpPut: RESTful 웹 서비스에서 Apex 메서드를 특정 HTTP 요청에 바인딩
Point
Apex 메서드를 사용하려는 곳에 맞는 Annotation
- Lightning Component에서 사용하려고 할 때는 @AuraEnabled
- Flow나 Process에서 사용하려고 할 때는 @InvocableMethod
- Visualforce나 Javascript에서 사용하려면 @RemoteAction
Annotation별 속성 및 추가 특징
- @AuraEnabled(cacheable = true)
- public static 메서드만 가능
- cacheable=true 설정 시 해당 메서드에서 데이터의 수정 불가능
- @isTest(SeeAllData = true )
- 조직의 레코드에 대한 액세스 허용
- SeeAllData = true 설정 시 @testSetup과 함께 사용 불가능
- Test class 또는 Test Method 중 하나에만 설정되어있으면 조직의 모든 데이터 액세스 가능
문제
Q. A developer has written an Apex method that updates a contact list and wants to make it available to Lightning web components. What annotations should developers add to Apex methods to achieve this?
- @AuraEnabled( cacheable = true)
- @AuraEnabled
- @RemoteAction
- @RemoteAction( cacheable = true)
A. 1
Q. Which three statements are true regarding the @istest annotation? Choose 3 answers
- A class containing test methods counts toward the apex code liit regardless of any @istest annotation (Missed
- Profiles are visible in a test even if a class is annotated @istest (seealldata=false)
- A method annotated @istest (seealldata=true) in a class annotated @istest (seealladata=false) has access to all org data
- A method annotated @istest (seealldata=false) in a class annotated @istest (seealladata=true) has access to all org data
- Products and pricebooks are visible in a test even if a class is annotated @istest (seealldata=false)
A. 2/3/4
반응형