ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 개념 ] @Annotation
    Certification/Platform Developer 2024. 3. 4. 22:31

    Annotation @?

    • Salesforce 개발에서 사용되는 어노테이션(annotation)
    • Annotation은 주석과는 다르며, 소프트웨어에 대한 추가적인 정보를 제공하는 메타데이터

     


     

    주요 Annotation 

    1. @AuraEnabled : Apex 메서드가 Lightning 컴포넌트에서 호출될 수 있도록 허용하며, 컴포넌트와 백엔드 Apex 코드 간의 통신을 가능하게 한다.
    2. @future : Apex 메서드를 비동기적으로 실행하도록 지시
    3. @TestVisible : Test 코드 내에서 비공개 변수를 테스트할 수 있도록 허용
    4. @InvocableMethod : Flow나 Process에서  Apex 메서드를 호출할 수 있도록 허용
    5. @RemoteAction : Visualforce 페이지에서 JavaScript 함수와 Apex 메서드 간의 통신을 허용
    6. @IsTest : Apex 테스트 클래스를 정의하고 해당 클래스의 메서드를 테스트 메서드로 지정
    7. @RestResource : Apex 클래스를 RESTFull 웹 서비스로 노출하는 주석
    8. @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?

    1. @AuraEnabled( cacheable = true)
    2. @AuraEnabled
    3. @RemoteAction
    4. @RemoteAction( cacheable = true)

    A. 1

    Q. Which three statements are true regarding the @istest annotation? Choose 3 answers

    1. A class containing test methods counts toward the apex code liit regardless of any @istest annotation (Missed
    2. Profiles are visible in a test even if a class is annotated @istest (seealldata=false)
    3. A method annotated @istest (seealldata=true) in a class annotated @istest (seealladata=false) has access to all org data
    4. A method annotated @istest (seealldata=false) in a class annotated @istest (seealladata=true) has access to all org data
    5. Products and pricebooks are visible in a test even if a class is annotated @istest (seealldata=false)

    A. 2/3/4

     


     

    반응형
Designed by Tistory.