Skip to main content
Salesforce and Tableau exam registrations are now closed through July 21st. Learn more about the new Salesforce certification experience coming soon.

Create a Server-side Apex Controller Class

Note

This module is intended for Admins who support legacy Aura components. Lightning Web Components is the preferred way to build UI with Salesforce. Head over to the Migrate from Aura to Lightning Web Components trail to learn how to use LWC and comply with current web standards.

Salesforce Lightning Design System (SLDS) now has two versions. If you use Aura design tokens to style your Aura components, you’re working in the original Salesforce Lightning Design System, SLDS 1.

Salesforce Lightning Design System 2 (SLDS 2 beta) was introduced in Spring ‘25. SLDS 2 is built with a new CSS framework that separates the structure from the visual design using styling hooks.

To switch to SLDS 2 and receive all of the benefits it offers, upgrade your Aura components to Lightning web components or Lightning base components and use styling hooks. To learn more, read Replace Design Tokens with Styling Hooks in the Aura developer guide. To learn more uplifting your code to SLDS 2, read Transitioning to SLDS 2 on the SLDS 2 website.

Introduction

The Lightning Component framework is a UI framework for developing dynamic web apps for mobile and desktop devices.

In this Quick Start, you'll create a simple Lightning Component that renders a list of Contacts from your org. You'll start by creating an Apex controller class, then create a Lightning Component and an event handler and finally render the list of Contacts in the component.

Follow Along with Trail Together

Want to follow along with an expert as you work through this step? Take a look at this video, part of the Trail Together series.

Build an Apex Controller

Create a class to access data from Contacts.

  1. In your Trailhead Playground, click the setup gear Gear icon to access Setup in Lightning Experience and select Developer Console.
  2. Select File | New | Apex Class.
  3. For the class name, enter MyContactListController and then click OK.
  4. In the body of the class (i.e. between the {} braces), enter the following code Tip: You can copy and paste any code snippet from Trailhead by clicking Copy in the top right corner.
    @AuraEnabled
    public static List<Contact> getContacts(Id recordId) {
       return [SELECT Id, FirstName, LastName, Email, Phone FROM Contact WHERE AccountId = :recordId];
    }
    Apex methods designated @AuraEnabled are able to be called from a Lightning component.
  5. Select File | Save.
Share your Trailhead feedback over on Salesforce Help.

We'd love to hear about your experience with Trailhead - you can now access the new feedback form anytime from the Salesforce Help site.

Learn More Continue to Share Feedback